Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:76669ad2c30b, 2014-11-26 (annotated)
- Committer:
- addyi
- Date:
- Wed Nov 26 09:31:01 2014 +0000
- Revision:
- 0:76669ad2c30b
- Child:
- 1:0072ef0302ec
First Programm Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
addyi | 0:76669ad2c30b | 1 | #include "mbed.h" |
addyi | 0:76669ad2c30b | 2 | |
addyi | 0:76669ad2c30b | 3 | DigitalIn b1(p8); |
addyi | 0:76669ad2c30b | 4 | DigitalIn b2(p14); |
addyi | 0:76669ad2c30b | 5 | DigitalOut led[] = {(LED1), (LED2),(LED3),(LED4)}; |
addyi | 0:76669ad2c30b | 6 | |
addyi | 0:76669ad2c30b | 7 | |
addyi | 0:76669ad2c30b | 8 | bool shortPress =false; |
addyi | 0:76669ad2c30b | 9 | bool longPress = false; |
addyi | 0:76669ad2c30b | 10 | |
addyi | 0:76669ad2c30b | 11 | int counterTime = 0; |
addyi | 0:76669ad2c30b | 12 | int counterBlink=4; |
addyi | 0:76669ad2c30b | 13 | |
addyi | 0:76669ad2c30b | 14 | Ticker timeTasterTest; |
addyi | 0:76669ad2c30b | 15 | Ticker timeLedTest; |
addyi | 0:76669ad2c30b | 16 | |
addyi | 0:76669ad2c30b | 17 | void tasterTest(); |
addyi | 0:76669ad2c30b | 18 | void ledTest(); |
addyi | 0:76669ad2c30b | 19 | |
addyi | 0:76669ad2c30b | 20 | int main() |
addyi | 0:76669ad2c30b | 21 | { |
addyi | 0:76669ad2c30b | 22 | while(1) { |
addyi | 0:76669ad2c30b | 23 | timeTasterTest.attach(&tasterTest,0.01); |
addyi | 0:76669ad2c30b | 24 | timeLedTest.attach(&ledTest,0.5); |
addyi | 0:76669ad2c30b | 25 | } |
addyi | 0:76669ad2c30b | 26 | } |
addyi | 0:76669ad2c30b | 27 | |
addyi | 0:76669ad2c30b | 28 | void ledTest() |
addyi | 0:76669ad2c30b | 29 | { |
addyi | 0:76669ad2c30b | 30 | if(shortPress) { |
addyi | 0:76669ad2c30b | 31 | if(counterBlink>=0) { |
addyi | 0:76669ad2c30b | 32 | led[1]=!led[1]; |
addyi | 0:76669ad2c30b | 33 | counterBlink--; |
addyi | 0:76669ad2c30b | 34 | } else { |
addyi | 0:76669ad2c30b | 35 | led[1]=0; |
addyi | 0:76669ad2c30b | 36 | counterBlink=4; |
addyi | 0:76669ad2c30b | 37 | } |
addyi | 0:76669ad2c30b | 38 | } |
addyi | 0:76669ad2c30b | 39 | if(longPress) { |
addyi | 0:76669ad2c30b | 40 | led[1]=!led[1]; |
addyi | 0:76669ad2c30b | 41 | } |
addyi | 0:76669ad2c30b | 42 | |
addyi | 0:76669ad2c30b | 43 | } |
addyi | 0:76669ad2c30b | 44 | |
addyi | 0:76669ad2c30b | 45 | void tasterTest() |
addyi | 0:76669ad2c30b | 46 | { |
addyi | 0:76669ad2c30b | 47 | if(!b1) { |
addyi | 0:76669ad2c30b | 48 | if(counterTime<500) { |
addyi | 0:76669ad2c30b | 49 | longPress=false; |
addyi | 0:76669ad2c30b | 50 | shortPress=true; |
addyi | 0:76669ad2c30b | 51 | counterTime ++; |
addyi | 0:76669ad2c30b | 52 | } else { |
addyi | 0:76669ad2c30b | 53 | counterTime=0; |
addyi | 0:76669ad2c30b | 54 | longPress=true; |
addyi | 0:76669ad2c30b | 55 | shortPress=false; |
addyi | 0:76669ad2c30b | 56 | } |
addyi | 0:76669ad2c30b | 57 | } else { |
addyi | 0:76669ad2c30b | 58 | if(longPress) { |
addyi | 0:76669ad2c30b | 59 | counterTime=0; |
addyi | 0:76669ad2c30b | 60 | longPress=false; |
addyi | 0:76669ad2c30b | 61 | shortPress=false; |
addyi | 0:76669ad2c30b | 62 | } |
addyi | 0:76669ad2c30b | 63 | } |
addyi | 0:76669ad2c30b | 64 | } |