現在rx65nを使用してadコンバータとi2c通信を行いデータの受信を行うことができました。
そのデータをシリアル通信でpcのcsvに出力するためスマートコンフィグレータを使用しようと思っているのですが
R__Serial_Send
で送ったデータは接続しているpcに送られるということでしょうか?
またその確認方法はpc側のプログラミングが別で必要なのでしょうか?
よろしくお願いします。
たむら さん、こんにちは。NoMaYです。つい先日、TB-RX65N等でUART出力するサンプルプログラムを作って投稿したのですが、まだUART出力がうまく出来ないのであれば、そのサンプルプログラムを使ってみてください。(サンプルプログラムではSCI1を使っていますが他のSCIチャンネルへの変更は容易です。)TB-RX65N/RX130/RX231+CSplus sample programダウンロードjapan.renesasrulz.com/cafe_rene/m/sample_program/460説明japan.renesasrulz.com/cafe_rene/f/002-2095199602/6870/tb-rx65n-rx130-rx231-csplus-sample-program/36947#36947
プログラミングそのものが初めてだと文字列と数値で良く解らなくなることはしばしばあります。C言語で可能な文字と数値の加算はチョット違和感があるかもしれません。ASCIIで数字やアルファベットが並んでいるのでできることです。
sprintfは汎用性があり、整数から文字列の変換が明確になるのですがメモリや処理時間を浪費する可能性があります。ヒープの使用もありそうです。
私の場合は開発時にのみ使うこのような処理は下記のような力技で良しとしてます。動作をチェックしていないのでタイプミスなどがあるかもしれません。途中でdata1とdata2が変化しないことを確実にしておかなければなりません。また、16進の場合は一行にいろいろなことを書いているのでブレークポイントを欲しいところに設定できない難点もあります。?:ではなくC言語に不慣れな人でも分かりやすいif・・else・・;を使うことも多くあります。アナログ入力の場合はエクセルに取り込んでグラフ化もあるのでほとんどの場合で10進にします。この場合は、コードも単純になるメリットもあります。
フォーラム参加の方々がどのような手法を使われているのか興味があります。sprintfなどを使われているのでしょうか?unsigned int data1;unsigned int data2;
void moni(){
unsigned int string[80]; unsigned int stringLen;
// 16進 string[0]='s'; string[1]='1'; string[2]='='; string[3]=(((data1/4096)%16)<10)?(((data1/4096)%16)+'0'):(((data1/4096)%16)-10+'A'); string[4]=(((data1/ 256)%16)<10)?(((data1/ 256)%16)+'0'):(((data1/ 256)%16)-10+'A'); string[5]=(((data1/ 16)%16)<10)?(((data1/ 16)%16)+'0'):(((data1/ 16)%16)-10+'A'); string[6]=(((data1 )%16)<10)?(((data1 )%16)+'0'):(((data1 )%16)-10+'A'); string[7]=' '; string[8]='s'; string[9]='2'; string[11]='='; if(((data2/4096)%16)<10){string[12]=((data2/4096)%16)+'0';}else{string[12]=((data2/4096)%16)-10+'A';}; if(((data2/ 256)%16)<10){string[13]=((data2/ 256)%16)+'0';}else{string[13]=((data2/ 256)%16)-10+'A';}; if(((data2/ 16)%16)<10){string[14]=((data2/ 16)%16)+'0';}else{string[14]=((data2/ 16)%16)-10+'A';}; if(((data2 )%16)<10){string[15]=((data2 )%16)+'0';}else{string[15]=((data2 )%16)-10+'A';}; string[16]=' ';
// 10進 string[17]=' '; string[18]='s'; string[19]='1'; string[20]='='; string[21]=((data1/1000)%10)+'0'; string[22]=((data1/ 100)%10)+'0'; string[23]=((data1/ 10)%10)+'0'; string[24]=((data1 )%10)+'0'; string[25]=' '; string[26]='s'; string[27]='2'; string[28]='='; string[29]=((data2/1000)%10)+'0'; string[30]=((data2/ 100)%10)+'0'; string[31]=((data2/ 10)%10)+'0'; string[32]=((data2 )%10)+'0'; string[33]='\n';
// いつもよりカッコは多めにつけてます。
stringLen=34; SendSci(string,stringLen);
}