- const LED_NUM = 24;
- const LED_ON = 1, LED_OFF = 0;
- // 2-dimension char ledarr[LED_NUM][4] for 24 LEDs
- var ledarr = array_create(2, 1, LED_NUM, 4);
- ledarr.set(0, 0, 5, 0, 5, 1); // ledarr[0 ]: PF0 - PF1
- ledarr.set(1, 0, 5, 2, 5, 3); // ledarr[1 ]: PF2 - PF3
- ledarr.set(2, 0, 5, 4, 5, 5); // ledarr[2 ]: PF4 - PF5
- ledarr.set(3, 0, 5, 12, 5, 13); // ledarr[3 ]: PF12 - PF13
- ledarr.set(4, 0, 5, 14, 5, 15); // ledarr[4 ]: PF14 - PF15
- ledarr.set(5, 0, 6, 0, 6, 1); // ledarr[5 ]: PG0 - PG1
- ledarr.set(6, 0, 6, 2, 6, 3); // ledarr[6 ]: PG2 - PG3
- ledarr.set(7, 0, 6, 4, 6, 5); // ledarr[7 ]: PG4 - PG5
- ledarr.set(8, 0, 3, 11, 3, 12); // ledarr[8 ]: PD11 - PD12
- ledarr.set(9, 0, 3, 13, 4, 3); // ledarr[9 ]: PD13 - PE3
- ledarr.set(10, 0, 4, 4, 4, 5); // ledarr[10]: PE4 - PE5
- ledarr.set(11, 0, 4, 6, 4, 2); // ledarr[11]: PE6 - PE2
- ledarr.set(12, 0, 6, 13, 6, 14); // ledarr[12]: PG13 - PG14
- ledarr.set(13, 0, 3, 14, 3, 15); // ledarr[13]: PD14 - PD15
- ledarr.set(14, 0, 3, 0, 3, 1); // ledarr[14]: PD0 - PD1
- ledarr.set(15, 0, 4, 7, 4, 8); // ledarr[15]: PE7 - PE8
- ledarr.set(16, 0, 4, 9, 4, 10); // ledarr[16]: PE9 - PE10
- ledarr.set(17, 0, 4, 11, 4, 12); // ledarr[17]: PE11 - PE12
- ledarr.set(18, 0, 4, 13, 4, 14); // ledarr[18]: PE13 - PE14
- ledarr.set(19, 0, 4, 15, 3, 8); // ledarr[19]: PE15 - PD8
- ledarr.set(20, 0, 3, 9, 3, 10); // ledarr[20]: PD9 - PD10
- ledarr.set(21, 0, 3, 5, 3, 3); // ledarr[21]: PD5 - PD3
- ledarr.set(22, 0, 4, 1, 4, 0); // ledarr[22]: PE1 - PE0
- ledarr.set(23, 0, 3, 4, 3, 6); // ledarr[23]: PD4 - PD6
- set_led(index, value)
- {
- var port, pin;
- if (value == LED_ON)
- {
- port = array_get(ledarr, index, 0);
- pin = array_get(ledarr, index, 1);
- gpio_create(port, pin).config(GPIO_OUTPP).set();
- port = array_get(ledarr, index, 2);
- pin = array_get(ledarr, index, 3);
- gpio_create(port, pin).config(GPIO_OUTPP).clear();
- }
- else
- {
- port = array_get(ledarr, index, 0);
- pin = array_get(ledarr, index, 1);
- gpio_create(port, pin).config(GPIO_INPUT);
- port = array_get(ledarr, index, 2);
- pin = array_get(ledarr, index, 3);
- gpio_create(port, pin).config(GPIO_INPUT);
- }
- }
- set_ledarr(cnt)
- {
- var index = 0;
- while (index < LED_NUM)
- {
- if (cnt & (1 << index))
- {
- set_led(index, LED_ON);
- }
- else
- {
- set_led(index, LED_OFF);
- }
- index = index + 1;
- }
- }
- var cnt = 0;
- while (1)
- {
- set_ledarr(cnt);
- timer_delayms(500);
- cnt = cnt + 1;
- }
测试图片: