エレキジャック Web版 マイコン・カーを製作してみよう<19> xbeeの動作確認用プログラムです。http://www.eleki-jack.com/arm/2012/09/19.html このプログラムは二つの機能をもっています。一つはPCから送信したデータをmbedで受信し、データをmbedのLCDに表示します。もうひとつの機能は、mbedが受信した文字数をカウントし そのデータ数をPCに送信しています。
main.cpp@0:d2e0061e3a45, 2012-10-01 (annotated)
- Committer:
- sunifu
- Date:
- Mon Oct 01 14:21:40 2012 +0000
- Revision:
- 0:d2e0061e3a45
Ver1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sunifu | 0:d2e0061e3a45 | 1 | #include "mbed.h" |
sunifu | 0:d2e0061e3a45 | 2 | #include "TextLCD.h" |
sunifu | 0:d2e0061e3a45 | 3 | |
sunifu | 0:d2e0061e3a45 | 4 | TextLCD lcd(p24, p26, p27, p28, p29, p30); |
sunifu | 0:d2e0061e3a45 | 5 | Serial pc(p13,p14); |
sunifu | 0:d2e0061e3a45 | 6 | |
sunifu | 0:d2e0061e3a45 | 7 | int i = 0,j; |
sunifu | 0:d2e0061e3a45 | 8 | char moji[16]; |
sunifu | 0:d2e0061e3a45 | 9 | void rxFunc(){ |
sunifu | 0:d2e0061e3a45 | 10 | int k; |
sunifu | 0:d2e0061e3a45 | 11 | j = pc.getc(); |
sunifu | 0:d2e0061e3a45 | 12 | |
sunifu | 0:d2e0061e3a45 | 13 | if ( i < 16 ){ |
sunifu | 0:d2e0061e3a45 | 14 | moji[i] = j; |
sunifu | 0:d2e0061e3a45 | 15 | }else{ |
sunifu | 0:d2e0061e3a45 | 16 | for ( k = 0 ; k < 15 ; k++) |
sunifu | 0:d2e0061e3a45 | 17 | moji[k] = moji[k+1]; |
sunifu | 0:d2e0061e3a45 | 18 | moji[15]=j; |
sunifu | 0:d2e0061e3a45 | 19 | } |
sunifu | 0:d2e0061e3a45 | 20 | i++; |
sunifu | 0:d2e0061e3a45 | 21 | pc.printf("[%c,%2d]",j,i); |
sunifu | 0:d2e0061e3a45 | 22 | } |
sunifu | 0:d2e0061e3a45 | 23 | |
sunifu | 0:d2e0061e3a45 | 24 | int main() |
sunifu | 0:d2e0061e3a45 | 25 | { |
sunifu | 0:d2e0061e3a45 | 26 | lcd.cls(); |
sunifu | 0:d2e0061e3a45 | 27 | pc.baud(115200); |
sunifu | 0:d2e0061e3a45 | 28 | pc.attach(&rxFunc,Serial::RxIrq); |
sunifu | 0:d2e0061e3a45 | 29 | |
sunifu | 0:d2e0061e3a45 | 30 | while(1){ |
sunifu | 0:d2e0061e3a45 | 31 | lcd.locate(0,0); |
sunifu | 0:d2e0061e3a45 | 32 | lcd.printf("%s",moji); |
sunifu | 0:d2e0061e3a45 | 33 | } |
sunifu | 0:d2e0061e3a45 | 34 | |
sunifu | 0:d2e0061e3a45 | 35 | } |