twe-liteを使った受信プログラム。透過モードに非ず。

Dependencies:   mbed

Committer:
Joeatsumi
Date:
Sun Feb 18 23:29:11 2018 +0000
Revision:
0:b2737a0c9620
twe-lite?????????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Joeatsumi 0:b2737a0c9620 1 #include "mbed.h"
Joeatsumi 0:b2737a0c9620 2 Serial twe(p9, p10); // tx, rx
Joeatsumi 0:b2737a0c9620 3 Serial pc(USBTX,USBRX);
Joeatsumi 0:b2737a0c9620 4
Joeatsumi 0:b2737a0c9620 5 char rpm_array[5] = "0000";//実は末尾にnullがあるので、要素が4つでも配列では5つの箱を用意している
Joeatsumi 0:b2737a0c9620 6 char dam;
Joeatsumi 0:b2737a0c9620 7
Joeatsumi 0:b2737a0c9620 8 int rpm=0;
Joeatsumi 0:b2737a0c9620 9
Joeatsumi 0:b2737a0c9620 10 DigitalOut myled(LED1);
Joeatsumi 0:b2737a0c9620 11
Joeatsumi 0:b2737a0c9620 12 void rpm_f()//文字列から数値への変換
Joeatsumi 0:b2737a0c9620 13 {
Joeatsumi 0:b2737a0c9620 14
Joeatsumi 0:b2737a0c9620 15 rpm = atoi(rpm_array);
Joeatsumi 0:b2737a0c9620 16 rpm-=1000;
Joeatsumi 0:b2737a0c9620 17
Joeatsumi 0:b2737a0c9620 18 }
Joeatsumi 0:b2737a0c9620 19
Joeatsumi 0:b2737a0c9620 20
Joeatsumi 0:b2737a0c9620 21 int main() {
Joeatsumi 0:b2737a0c9620 22
Joeatsumi 0:b2737a0c9620 23 twe.baud(115200);
Joeatsumi 0:b2737a0c9620 24 pc.baud(115200);
Joeatsumi 0:b2737a0c9620 25
Joeatsumi 0:b2737a0c9620 26 while(1) {
Joeatsumi 0:b2737a0c9620 27
Joeatsumi 0:b2737a0c9620 28 if(twe.getc()==':'){
Joeatsumi 0:b2737a0c9620 29 if(twe.getc()=='0'){//送信してきた相手のIDは0x01
Joeatsumi 0:b2737a0c9620 30 if(twe.getc()=='1'){
Joeatsumi 0:b2737a0c9620 31 dam=twe.getc();//数値とは関係ないのでdamに入れて無視をする
Joeatsumi 0:b2737a0c9620 32 dam=twe.getc();//
Joeatsumi 0:b2737a0c9620 33 for (int i = 0; i <= 4; i++) {
Joeatsumi 0:b2737a0c9620 34 rpm_array[i] =twe.getc();//高度の受信rpm+1000の値を文字列として受け取る
Joeatsumi 0:b2737a0c9620 35
Joeatsumi 0:b2737a0c9620 36 }
Joeatsumi 0:b2737a0c9620 37 }
Joeatsumi 0:b2737a0c9620 38 }
Joeatsumi 0:b2737a0c9620 39 }
Joeatsumi 0:b2737a0c9620 40
Joeatsumi 0:b2737a0c9620 41 rpm_f();
Joeatsumi 0:b2737a0c9620 42 pc.printf("Rpm=%d",rpm);
Joeatsumi 0:b2737a0c9620 43
Joeatsumi 0:b2737a0c9620 44 }//while
Joeatsumi 0:b2737a0c9620 45 }//int main()