Shinichiro Nakamura
/
TestProgramForBugTopic990
This is a test program for http://mbed.org/forum/bugs-suggestions/topic/990/
main.cpp@0:3eb38701225c, 2010-08-16 (annotated)
- Committer:
- shintamainjp
- Date:
- Mon Aug 16 11:25:35 2010 +0000
- Revision:
- 0:3eb38701225c
- Child:
- 1:4cfa24bbc098
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shintamainjp | 0:3eb38701225c | 1 | /** |
shintamainjp | 0:3eb38701225c | 2 | * Test program for a bug. (http://mbed.org/forum/bugs-suggestions/topic/990/) |
shintamainjp | 0:3eb38701225c | 3 | * |
shintamainjp | 0:3eb38701225c | 4 | * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems) |
shintamainjp | 0:3eb38701225c | 5 | * http://shinta.main.jp/ |
shintamainjp | 0:3eb38701225c | 6 | */ |
shintamainjp | 0:3eb38701225c | 7 | |
shintamainjp | 0:3eb38701225c | 8 | #include "mbed.h" |
shintamainjp | 0:3eb38701225c | 9 | |
shintamainjp | 0:3eb38701225c | 10 | BusOut myled(LED4, LED3, LED2, LED1); |
shintamainjp | 0:3eb38701225c | 11 | Ticker tickerForLED; |
shintamainjp | 0:3eb38701225c | 12 | Ticker tickerForAnother; |
shintamainjp | 0:3eb38701225c | 13 | |
shintamainjp | 0:3eb38701225c | 14 | /** |
shintamainjp | 0:3eb38701225c | 15 | * Tick function for toggle 4 LEDs. |
shintamainjp | 0:3eb38701225c | 16 | */ |
shintamainjp | 0:3eb38701225c | 17 | void tickfunc_led(void) { |
shintamainjp | 0:3eb38701225c | 18 | myled = myled + 1; |
shintamainjp | 0:3eb38701225c | 19 | } |
shintamainjp | 0:3eb38701225c | 20 | |
shintamainjp | 0:3eb38701225c | 21 | /** |
shintamainjp | 0:3eb38701225c | 22 | * Tick function for another ticker. |
shintamainjp | 0:3eb38701225c | 23 | */ |
shintamainjp | 0:3eb38701225c | 24 | void tickfunc_another(void) { |
shintamainjp | 0:3eb38701225c | 25 | // Do nothing. |
shintamainjp | 0:3eb38701225c | 26 | } |
shintamainjp | 0:3eb38701225c | 27 | |
shintamainjp | 0:3eb38701225c | 28 | int main() { |
shintamainjp | 0:3eb38701225c | 29 | int n = 0; |
shintamainjp | 0:3eb38701225c | 30 | |
shintamainjp | 0:3eb38701225c | 31 | /* |
shintamainjp | 0:3eb38701225c | 32 | * Start my LED ticker. |
shintamainjp | 0:3eb38701225c | 33 | */ |
shintamainjp | 0:3eb38701225c | 34 | tickerForLED.attach(&tickfunc_led, 0.2); |
shintamainjp | 0:3eb38701225c | 35 | |
shintamainjp | 0:3eb38701225c | 36 | /* |
shintamainjp | 0:3eb38701225c | 37 | * Wait 5 seconds. |
shintamainjp | 0:3eb38701225c | 38 | */ |
shintamainjp | 0:3eb38701225c | 39 | wait(5); |
shintamainjp | 0:3eb38701225c | 40 | |
shintamainjp | 0:3eb38701225c | 41 | /* |
shintamainjp | 0:3eb38701225c | 42 | * Attach another ticker. |
shintamainjp | 0:3eb38701225c | 43 | * Then the LED ticker will be stop. |
shintamainjp | 0:3eb38701225c | 44 | */ |
shintamainjp | 0:3eb38701225c | 45 | while (1) { |
shintamainjp | 0:3eb38701225c | 46 | /* |
shintamainjp | 0:3eb38701225c | 47 | * Check for this loop. |
shintamainjp | 0:3eb38701225c | 48 | */ |
shintamainjp | 0:3eb38701225c | 49 | printf("n=%d\n", n++); |
shintamainjp | 0:3eb38701225c | 50 | |
shintamainjp | 0:3eb38701225c | 51 | /* |
shintamainjp | 0:3eb38701225c | 52 | * Change my another ticker. |
shintamainjp | 0:3eb38701225c | 53 | */ |
shintamainjp | 0:3eb38701225c | 54 | tickerForAnother.attach_us(&tickfunc_another, 2 * 1000); |
shintamainjp | 0:3eb38701225c | 55 | wait_ms(100); |
shintamainjp | 0:3eb38701225c | 56 | |
shintamainjp | 0:3eb38701225c | 57 | tickerForAnother.attach_us(&tickfunc_another, 2 * 1000); |
shintamainjp | 0:3eb38701225c | 58 | wait_ms(100); |
shintamainjp | 0:3eb38701225c | 59 | |
shintamainjp | 0:3eb38701225c | 60 | tickerForAnother.attach_us(&tickfunc_another, 2 * 1000); |
shintamainjp | 0:3eb38701225c | 61 | wait_ms(100); |
shintamainjp | 0:3eb38701225c | 62 | } |
shintamainjp | 0:3eb38701225c | 63 | } |