Прием данных по com порту - C#

Узнай цену своей работы

Формулировка задачи:

Подключил прибор по rs232. Провода 2, 4, и 5. Нужно принять данные с него. Вот код который я раздобыл:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO.Ports;
  6. using System.Threading;
  7. namespace console.p215
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. { string[] names = SerialPort.GetPortNames();
  13. Console.WriteLine("Serial ports:");
  14. foreach (string name in names)
  15. Console.WriteLine(name);
  16. Console.Write("Choose one:");
  17. SerialPort p = new SerialPort("COM1",
  18. 1200,
  19. Parity.None,
  20. 8, StopBits.One
  21. );
  22. p.Handshake = Handshake.None;
  23. p.DtrEnable = true;
  24. p.RtsEnable = false;
  25. p.DataReceived += new SerialDataReceivedEventHandler(p_DataReceived);
  26. p.Open();
  27.  
  28. string line;
  29. do
  30. {
  31. line = Console.ReadLine();
  32. p.Write(line);
  33.  
  34. } while (line != "quit");
  35. p.Close();
  36. }
  37. static void p_DataReceived(object sender, SerialDataReceivedEventArgs e)
  38. {
  39. Thread.Sleep(500);
  40. string str=(sender as SerialPort).ReadExisting();
  41. char[] ch = str.ToCharArray();
  42. foreach (char ch2 in ch)
  43. Console.Write((int)(ch2)+" ");
  44. Console.WriteLine();
  45. Console.WriteLine(str);
  46. }
  47.  
  48. }
  49. }
Выходят такие данные: 0 1 2 3 4 63 63 0 0 0 64 Есть программа от прибора(заводская) она получила: -0.3mV Промониторил порт утилитой выводит это: 000 001 002 004 206 204 196 000 000 64(десятичные) Как считать цифры с прибора а не абра-кадабру?
данные с прибора считывает одни и те же:-03mV

Решение задачи: «Прием данных по com порту»

textual
Листинг программы
  1. foreach(byte _byte in data)
  2. Console.Write(_byte.ToString("x")+" ");
  3. Console.WriteLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы