お世話になっております。現在、PCとRX621間でBluetoothを用いたシリアル通信を行っています。
今、PC側に保存された5つのエクセルデータ(~.csv //1秒ごとに値が更新されます。)
をTeraTermを用いてRX621に送信し、callbackでPC側に表示させることができました。(PC側のTeraterm上には -0.0611,0.0109,0.048,0.1388,0.3029と表示されていることから、シリアル通信はできていると思っています。)
次に、RX621が受信した上記のデータをカンマごとに区切り、A,B,C,D,Eのそれぞれに分けて計算をしたいと思っていますが、受信したデータを分割して配列するために、どのようなコードを記述すればよいか分かりません。ご教授お願いいたします。
念のために、以下にシリアル通信のプログラムを貼ります。RX621が受信したデータは "ch"に入れています。
unsigned char sci_recv(void){ unsigned char ch;
#ifdef USE_IR while (IR(SCI1,RXI1) == 0) ;#else while (SCI1.SSR.BIT.RDRF == 0) ;#endif
ch =SCI1.RDR;
#ifdef USE_IR IR(SCI1,RXI1) = 0;#endif return ch;}
void sci_send(unsigned char ch){#ifdef USE_IR while (IR(SCI1,TXI1) == 0) ; IR(SCI1,TXI1) = 0;#else while (SCI1.SSR.BIT.TDRE == 0) ;#endif
SCI1.TDR = ch;}