Condivisione della tecnologia

Porta seriale su TCP①

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

modulo

Effetto: il pannello accanto alla porta seriale e alla porta di rete lampeggerà quando il client o il server invia un messaggio. La casella di testo sottostante aumenterà di numero durante la ricezione o l'invio di dati. Il pulsante di opzione del meccanismo heartbeat può essere attivato e disattivato è possibile impostare l'intervallo di heartbeat e il contenuto, il pulsante di ripristino ripristina i dati della porta seriale e il pulsante di salvataggio salva i dati della porta seriale (groupBox: casella di richiesta, pannello, pannello, casella a discesa comboBox, radioButton, pulsante di opzione, checkBox, casella di selezione multipla)

file ini:

Crea file nel percorso Debug e crea Setting.ini nel file

Leggi il file di configurazione:

stringa dirPath = Path.Combine(Application.StartupPath, "File");

stringa filePath = Path.Combine(dirPath, "Setting.ini");

Ini = nuovo IniHelper(filePath);

  1. namespace SerialportToTCP
  2. {
  3. public partial class Form1 : Form
  4. {
  5. IniHelper Ini;
  6. string[] botelvs = new string[] { "1200", "4800", "9600", "13200" };
  7. public Form1()
  8. {
  9. InitializeComponent();
  10. //1 读取配置文件
  11. string dirPath = Path.Combine(Application.StartupPath, "File");// debug/file
  12. string filePath = Path.Combine(dirPath, "Setting.ini");// debug / file/setting.ini
  13. Ini = new IniHelper(filePath); //创建读取对象
  14. // 添加串口
  15. comboBox1.Items.AddRange(SerialPort.GetPortNames());// 获取所有串口 拼接在下拉框的items中
  16. comboBox2.Items.AddRange(botelvs);// 添加波特率数组
  17. comboBox2.Items.Add("自定义");//添加一个
  18. comboBox3.Items.AddRange(new string[] { "5", "6", "7", "8" });
  19. comboBox4.Items.AddRange(new string[] { "无", "奇校检", "偶校检" });
  20. comboBox5.Items.AddRange(new string[] { "无", "1", "2", "1.5" });
  21. //2开始处理串口接受数据事件
  22. //处理串口的数据
  23. this.serialPort1.DataReceived = SerialPort1_DataReceived;
  24. //3 处理界面显示默认值 也就是从ini文件读取数据
  25. readSetting();
  26. //4 开始串口通信
  27. startChuanKou();
  28. //5 开始网口通信
  29. startTCP();
  30. }
  31. //开始搭建TCP服务器
  32. TcpListener listen;