twe-liteを用いた実験用プログラム。回転数をメイン側へ送信する目的で書いた。

Dependencies:   mbed

Fork of twe_lite_rpm by Atsumi Toda

Committer:
Joeatsumi
Date:
Sun Feb 25 05:31:09 2018 +0000
Revision:
1:7c604d96b162
Parent:
0:25af5436ac17
2018/2/25;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Joeatsumi 0:25af5436ac17 1 #include "mbed.h"
Joeatsumi 0:25af5436ac17 2 //Serial twe(p9, p10); // tx, rx
Joeatsumi 0:25af5436ac17 3 Serial pc(USBTX,USBRX);
Joeatsumi 0:25af5436ac17 4 DigitalOut myled(LED1);
Joeatsumi 0:25af5436ac17 5
Joeatsumi 1:7c604d96b162 6 #define DATA_SIZE 11
Joeatsumi 1:7c604d96b162 7
Joeatsumi 1:7c604d96b162 8 char s[11] ;//this can take up to 10 byte characters
Joeatsumi 0:25af5436ac17 9
Joeatsumi 0:25af5436ac17 10 char dam;
Joeatsumi 1:7c604d96b162 11 short int rpm=76;
Joeatsumi 0:25af5436ac17 12 struct{
Joeatsumi 0:25af5436ac17 13 char highbyte;
Joeatsumi 0:25af5436ac17 14 char lowbyte;
Joeatsumi 0:25af5436ac17 15 short intdat;
Joeatsumi 0:25af5436ac17 16 }data;
Joeatsumi 0:25af5436ac17 17
Joeatsumi 1:7c604d96b162 18 char highbyte,lowbyte;
Joeatsumi 1:7c604d96b162 19
Joeatsumi 1:7c604d96b162 20
Joeatsumi 0:25af5436ac17 21 void rec(){
Joeatsumi 1:7c604d96b162 22 rpm+=1000;
Joeatsumi 0:25af5436ac17 23
Joeatsumi 1:7c604d96b162 24 sprintf(s, ":0401%dX\r\n",rpm);
Joeatsumi 1:7c604d96b162 25 /*配列sにまとめて代入。*/
Joeatsumi 1:7c604d96b162 26 for (int i = 0 ; i < DATA_SIZE ; i++){
Joeatsumi 1:7c604d96b162 27 pc.putc(s[i]);
Joeatsumi 1:7c604d96b162 28 }
Joeatsumi 1:7c604d96b162 29 rpm-=1000;
Joeatsumi 0:25af5436ac17 30 }
Joeatsumi 0:25af5436ac17 31 int main() {
Joeatsumi 0:25af5436ac17 32 pc.baud(115200);
Joeatsumi 0:25af5436ac17 33
Joeatsumi 0:25af5436ac17 34 while(1) {
Joeatsumi 0:25af5436ac17 35 //pc.putc(twe.getc());
Joeatsumi 0:25af5436ac17 36 if(pc.getc()==':'){
Joeatsumi 0:25af5436ac17 37 if(pc.getc()=='0'){
Joeatsumi 0:25af5436ac17 38 if(pc.getc()=='4'){
Joeatsumi 0:25af5436ac17 39 dam=pc.getc();
Joeatsumi 0:25af5436ac17 40 dam=pc.getc();
Joeatsumi 0:25af5436ac17 41 if(pc.getc()=='3'){
Joeatsumi 0:25af5436ac17 42 if(pc.getc()=='9'){
Joeatsumi 0:25af5436ac17 43
Joeatsumi 0:25af5436ac17 44 rec();
Joeatsumi 0:25af5436ac17 45
Joeatsumi 0:25af5436ac17 46 }
Joeatsumi 0:25af5436ac17 47 }//if(twe.getc()=='9')
Joeatsumi 0:25af5436ac17 48 }//if(twe.getc()=='4')
Joeatsumi 0:25af5436ac17 49 }//0
Joeatsumi 0:25af5436ac17 50
Joeatsumi 0:25af5436ac17 51
Joeatsumi 0:25af5436ac17 52 }//:
Joeatsumi 0:25af5436ac17 53 }//while
Joeatsumi 0:25af5436ac17 54
Joeatsumi 0:25af5436ac17 55 }