Получение неверный вывод
Вывод, который я получаю после сохранения его в текстовый файл, таков:
?????8 00rL???? ???? ???r??000.j?r???r?0?0000? ?r??L?r? ?????????r????r??L?r? &????&???? &I??Mr?? ?000000000 ????I?? ????&???? ???r?????r???r??????0020 Lr??L?r? ?)???r??0000.90000. &r??&?r? $???r&????
Я должен был получить что-то вроде этого:
0020.0 0019.9 0010.0 0000.0 0100.0 0100.0 0000.0 0010.9 0000.0 0002.1 0000.0 0002.1 0000.0 0002.1 00000000000000000000000000000000
Это мой код.:
public override void DoJob() { try { mySerialPort.Open(); mySerialPort.Write("$01I\r"); //Console.WriteLine("{0} ", CurrentDate); // Console.WriteLine("Starting Time: {0}\n", CurrentDate); if (mySerialPort.BytesToRead > 0) //if there is data in the buffer { string b = mySerialPort.ReadExisting(); //read a byte //Console.Write(b); string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string image1 = System.IO.Path.Combine(desktop, "Temperature_LOG.txt"); using (FileStream fs = new FileStream(image1, FileMode.Append, FileAccess.Write)) { using (BinaryWriter bw = new BinaryWriter(fs)) { bw.Write(b); //bw.Close(); } } //mySerialPort.Close(); } mySerialPort.Close(); } catch (IOException ex) { Console.WriteLine(ex); } }
Что я уже пробовал:
Я не могу найти ошибку, я попытался изменить формат, но безрезультатно
Richard MacCutchan
Используйте отладчик для проверки фактических данных, возвращаемых из порта. Возможно, что кодировка не соответствует этому .Чистый стандарт.