Details | Last modification | View Log | SVN | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 183 | andfri | 1 | #include <inttypes.h> |
| 223 | andfri | 2 | #include <avr/interrupt.h> |
| 267 | andfri | 3 | #include <stdio.h> |
| 183 | andfri | 4 | #include <bios.h> |
| 5 | |||
| 6 | static int app_putchar(char c, FILE *stream); |
||
| 7 | static int app_getchar(FILE *stream); |
||
| 8 | |||
| 9 | static FILE mystdio = FDEV_SETUP_STREAM(app_putchar, app_getchar, |
||
| 10 | _FDEV_SETUP_RW); |
||
| 11 | |||
| 12 | static int app_putchar(char c, FILE *stream) { |
||
| 267 | andfri | 13 | bios->debug_putchar(c); |
| 223 | andfri | 14 | return 0; |
| 183 | andfri | 15 | } |
| 16 | |||
| 17 | static int app_getchar(FILE *stream) { |
||
| 267 | andfri | 18 | return bios->debug_getchar(); |
| 183 | andfri | 19 | } |
| 20 | |||
| 21 | int main(void) |
||
| 22 | { |
||
| 268 | arune | 23 | unsigned long time; |
| 24 | unsigned long time1 = 0; |
||
| 25 | unsigned long time2 = 0; |
||
| 183 | andfri | 26 | |
| 223 | andfri | 27 | sei(); |
| 28 | |||
| 183 | andfri | 29 | stdout = &mystdio; |
| 30 | stdin = &mystdio; |
||
| 31 | |||
| 32 | printf("AVR Test Application\n"); |
||
| 223 | andfri | 33 | printf("Using AVR BIOS version %x\n", bios->version); |
| 183 | andfri | 34 | |
| 223 | andfri | 35 | while (1) { |
| 36 | time = bios->timebase_get(); |
||
| 37 | if ((time - time1) >= 2000) { |
||
| 38 | time1 = time; |
||
| 39 | printf("Two seconds passed, time is now %d.\n", (int)time); |
||
| 40 | } |
||
| 41 | |||
| 42 | if ((time - time2) >= 20000) { |
||
| 43 | time2 = time; |
||
| 44 | printf("Will now hang node.\n"); |
||
| 45 | cli(); |
||
| 46 | } |
||
| 47 | } |
||
| 48 | |||
| 49 | return 0; |
||
| 183 | andfri | 50 | } |