ハブ君の寝言

日記のような何か

serialPort->ReadByte()

シリアル通信を行う。

テストとして、0x00から0xffまで送る

受信側で以下のような初期化をして

...
this->serialPort1->ReadBufferSize = 1024;
...
					serialPort1->PortName = "COM3";  //COM3 ポート使用
					serialPort1->BaudRate = 460800;   //460800bps
					serialPort1->Parity = System::IO::Ports::Parity::None;  //パリティなし
					serialPort1->DataBits = 8;  //データ長 8ビット
					serialPort1->StopBits = System::IO::Ports::StopBits::One;   //ストップビット 1
					serialPort1->NewLine = "\r\n";//ReadLine(),WriteLine()が末尾と判断する値の設定
					serialPort1->Open();
				    serialPort1->DtrEnable = true;  //DTR(Data Terminal Ready) データ端末レディ
                    serialPort1->RtsEnable = true;  //RTS(Request To Send) 送信要求
                    serialPort1->ReadTimeout = 500;     //500mse 読み込みタイムアウト時間
                    serialPort1->WriteTimeout = 500;    //500msec書き込みタイムアウト時間
...

で、以下のように受信を行ったが

	private: System::Void serialPort1_DataReceived(System::Object^ sender, System::IO::Ports::SerialDataReceivedEventArgs^ e){
				 for(i=0;i<1024;i++){
					fprintf(fd, "%x ",serialPort1->ReadByte());
				 }

			 }

結果は以下のようになった

見て分かるように、0xX2と0xXaが受信出来ていない

もうだめだ、完成しない

0 1 3 4 5 6 7 8 9 b c d e f 10 11 13 14 15 16 17 18 19 1b 1c 1d 1e 1f 20 21 23 24 25 26 27 28 29 2b 2c 2d 2e 2f 30 31 33 34 35 36 37 38 39 3b 3c 3d 3e 3f 40 41 43 44 45 46 47 48 49 4b 4c 4d 4e 4f 50 51 53 54 55 56 57 58 59 5b 5c 5d 5e 5f 60 61 63 64 65 66 67 68 69 6b 6c 6d 6e 6f 70 71 73 74 75 76 77 78 79 7b 7c 7d 7e 7f 80 81 83 84 85 86 87 88 89 8b 8c 8d 8e 8f 90 91 93 94 95 96 97 98 99 9b 9c 9d 9e 9f a0 a1 a3 a4 a5 a6 a7 a8 a9 ab ac ad ae af b0 b1 b3 b4 b5 b6 b7 b8 b9 bb bc bd be bf c0 c1 c3 c4 c5 c6 c7 c8 c9 cb cc cd ce cf d0 d1 d3 d4 d5 d6 d7 d8 d9 db dc dd de df e0 e1 e3 e4 e5 e6 e7 e8 e9 eb ec ed ee ef f0 f1 f3 f4 f5 f6 f7 f8 f9 fb fc fd fe ff



追記

解決した
送信側の問題だった