|
12345678910111213141516171819202122232425262728293031323334353637383940 |
- #include "config.h"
- #include "led.h"
- #include "timer.h"
-
- int16_t __led_pattern;
-
- /* Debug LED */
- void TISR_HANDLER(6)
- {
- timer_clear_txif(6);
-
- if (__led_pattern == -1)
- return;
-
- __led_pattern <<= 1;
- if (__led_pattern & 0x100) {
- PORTBbits.RB13 = 0; /* on */
- __led_pattern |= 1;
- } else {
- PORTBbits.RB13 = 1; /* off */
- }
-
- __led_pattern &= 0xff;
- }
-
- void led_init(void)
- {
- TRISBbits.TRISB13 = 0;
- PORTBbits.RB13 = 1;
- __led_pattern = -1;
-
- timer_setup_16bit(6, LED_BLINK_RATE, 1);
- timer_set_priority(6, 1); /* low priority */
- }
-
- /* Set a pattern (8-bit binary pattern). */
- void led_pattern(uint8_t pattern)
- {
- __led_pattern = pattern;
- }
|