RX621でシリアル通信したcsvファイルを分割したい

お世話になっております。現在、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;
}

Parents
  • わわいです
    CSVデータの分割、集計はSCIの動作とは関係ないですね
    SCIでは1行分のデータを受信し、そのデータをバッファに展開するところまでです。
    その後、バッファに溜まっているデータをCSVとして分解、集計という処理をすることになります
Reply
  • わわいです
    CSVデータの分割、集計はSCIの動作とは関係ないですね
    SCIでは1行分のデータを受信し、そのデータをバッファに展開するところまでです。
    その後、バッファに溜まっているデータをCSVとして分解、集計という処理をすることになります
Children
No Data