当前位置: 首页 > news >正文

制作网站技术广告网址

制作网站技术,广告网址,企业组网设计,企业网站建设御彩云一直以来,玩8088单板机,上位机都是使用的绿色现成的串口软件。 今天,感觉8088单板机的各部分测试都基本完成了。 本着玩的精神,自己写一个上位机的简单串口程序,与自己的8088单板机通讯。 功能:一个完整…

一直以来,玩8088单板机,上位机都是使用的绿色现成的串口软件。

今天,感觉8088单板机的各部分测试都基本完成了。

本着玩的精神,自己写一个上位机的简单串口程序,与自己的8088单板机通讯。

功能:一个完整的C#命令行程序,使用串口8以9600波特率每秒发送字符'A',并实时显示接收到的所有字

1.测试结果

2.完整程序

using System;
using System.IO.Ports;
using System.Threading;namespace SerialPortCommunication
{class Program{private static SerialPort _serialPort;private static bool _running = true;private static int _sendCount = 0;private static int _receiveCount = 0;static void Main(string[] args){Console.Title = "串口通信监控 (COM8, 9600 bps)";Console.ForegroundColor = ConsoleColor.Cyan;Console.WriteLine("串口通信命令行程序");Console.WriteLine("====================");Console.ResetColor();Console.WriteLine("配置: COM8, 9600 bps, 8N1");Console.WriteLine("功能: 每秒发送字符 'A',实时显示接收数据");Console.WriteLine("按 Q 键退出程序");Console.WriteLine();// 初始化串口try{InitializeSerialPort();// 启动接收线程Thread receiveThread = new Thread(ReceiveData);receiveThread.IsBackground = true;receiveThread.Start();// 启动发送线程Thread sendThread = new Thread(SendData);sendThread.IsBackground = true;sendThread.Start();// 监控退出键while (_running){if (Console.KeyAvailable){var key = Console.ReadKey(true).Key;if (key == ConsoleKey.Q){_running = false;}}Thread.Sleep(100);}// 关闭串口_serialPort.Close();Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("\n程序已终止");Console.ResetColor();Console.WriteLine($"发送统计: {_sendCount} 条消息");Console.WriteLine($"接收统计: {_receiveCount} 个字符");}catch (Exception ex){Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine($"错误: {ex.Message}");Console.ResetColor();}Console.WriteLine("按任意键退出...");Console.ReadKey();}private static void InitializeSerialPort(){_serialPort = new SerialPort("COM8", 9600, Parity.None, 8, StopBits.One){Handshake = Handshake.None,ReadTimeout = 500,WriteTimeout = 500,Encoding = System.Text.Encoding.ASCII};_serialPort.Open();Console.ForegroundColor = ConsoleColor.Green;Console.WriteLine("串口已成功打开");Console.ResetColor();}private static void SendData(){while (_running){try{_serialPort.Write("A");_sendCount++;// 在控制台显示发送状态Console.ForegroundColor = ConsoleColor.Blue;Console.WriteLine($"[发送] A ({DateTime.Now:HH:mm:ss.fff})");Console.ResetColor();}catch (Exception ex){Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine($"[发送错误] {ex.Message}");Console.ResetColor();}// 每秒发送一次Thread.Sleep(1000);}}private static void ReceiveData(){while (_running){try{if (_serialPort.BytesToRead > 0){string data = _serialPort.ReadExisting();_receiveCount += data.Length;// 在控制台显示接收数据Console.ForegroundColor = ConsoleColor.Magenta;Console.Write($"[接收] ");Console.ResetColor();// 特殊字符处理foreach (char c in data){if (c == '\n'){Console.WriteLine();}else if (c == '\r'){// 忽略回车符}else if (char.IsControl(c)){Console.Write($"[0x{((int)c):X2}]");}else{Console.Write(c);}}}}catch (Exception ex){Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine($"[接收错误] {ex.Message}");Console.ResetColor();}Thread.Sleep(10); // 短暂休眠避免CPU占用过高}}}
}

3.技术实现

多线程结构

 

http://www.15wanjia.com/news/15813.html

相关文章:

  • 帮人做网站赚多少钱企业营销战略
  • 欧洲paypal网站淘宝排名查询工具
  • 设计师网站资源近期国际新闻热点大事件
  • 什么 的提升自己的网站怎样在百度上做免费推广
  • 梅江区建设局网站武汉seo优
  • wordpress login插件google移动服务应用优化
  • 西安网站制作 西安彩铃400电话今日国内最新新闻
  • 做58一样的网站做网站seo优化
  • 网站登记备案 个人seo排名怎么优化软件
  • 网站开发适合女生吗跨境电商靠谱吗
  • 网站建设产品福州seo优化排名推广
  • 做整形网站多少钱深圳网络营销
  • 旅游网站开发需求文档模板下载武汉网站建设
  • 网站建设的源代码有什么作用网络推广方法怎么做
  • 人民网做最好内容的网站深圳网站建设开发公司
  • 苏州网站设计公司简介浅谈一下网络营销的几个误区
  • 政府手机网站建设方案网站在线生成app
  • 建设部网站安全考核证书查询win7优化软件
  • 新乡企业网站建设深圳网络推广方法
  • 现在做网站需要多少钱百度百家号官网
  • 做网站市场大不大肇庆网站推广排名
  • 中小企业网站的建设实践报告营销软文300字范文
  • 做卡盟网站百度seo优化排名客服电话
  • 怎么在百度上做免费网站深圳有实力的seo公司
  • 如何制作一个软件北京搜索引擎优化主管
  • 商务网站建设与规划网站seo设置是什么意思
  • 广州网站公司推荐营销手机系统安装
  • 网站推广策略包括哪些内容外贸建站网站推广
  • 辽阳企业网站建设新闻源发稿平台
  • 电子商务网站建设的安全性苏州百度推广代理商