C# 串口通信的问题

a12321321321312321 a12321321321312321 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

private void button_Query_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
byte[] data_temp = new byte[] { 0xaa, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0xff, 0xff };
serialPort1.Write(data_temp, 0, data_temp.Length);
//......略

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
int length = serialPort1.BytesToRead;

//......略


正常情况串口应该回发79个字节数组,为什么有时候要收几次才能收到79个字节的数组,大致意思就是说我单击查询按钮
触发button_Query_Click这个事件后,理想情况是serialPort1_DataReceived只触发一次,收到79个字节的数组。但是大部分时候都是serialPort1_DataReceived自动触发了2次以上,比如第一次收到8个字节的数组,第二次收到71个.也或者第一次收到3个字节,第二次收到76字节。
取的断点查看的serialPort1.BytesToRead是79。正常情况int length = serialPort1.BytesToRead; length
求应该就是79,取断点看的length很多时候都不是79,比如是8 、71、3、76之类的

本人嵌入式的小白。求高手解答。。3Q
...全文

相关推荐

C# 串口通信(彻底解决C#串口通信中的数据丢失问题)

以网上某位大虾的源码为版本,沿用了其可用的代码部分。对其余欠妥部分进行了改造。不要资源分,是大家不用为积分而烦恼。出来混都不容易,希望大家相互照应!

zxc9601

C#串口通信模块:基础、API、实例与问题处理

串口(也称为串行端口或COM端口),是一种用于计算机与其他设备(如调制解调器、打印机、传感器等)间进行串行通信的接口。与并行通信相比,串行通信一次只传输一位数据,虽然速度较慢,但所需的数据线更少,实现起来更为简单。在处理串口通信问题时,有以下几点经验总结:详细记录和回放功能:在开发过程中,实现数据包的详细记录和回放功能。这将有助于在出现问题时快速定位和分析。逐步测试和验证:在不同的开发阶段,进行逐步测试和验证。确保每个模块按预期工作,避免在项目后期出现大规模的问题。

aka卡贴人

C# 与串口通信:解决常见问题的调试技巧与实用建议

摘要:串口通信在嵌入式系统和工业自动化中应用广泛,C#的System.IO.Ports.SerialPort类提供了开发支持。本文探讨了串口通信的基本概念(波特率、数据位等),并针对常见问题如端口占用、数据丢失、线程阻塞等提供了调试技巧,包括异步操作、波特率匹配、缓冲区优化等,帮助开发者提升通信效率和稳定性。通过合理配置参数和优化传输方式,可有效解决串口通信中的典型问题。

威哥说编程

【C#上位机开发】串口通信中乱码问题的全面解析与解决方案:数据编码与字节处理技巧

内容概要:本文详细介绍了C#上位机串口通信中常见的乱码问题及其解决方案。文章首先阐述了串口通信的基本概念及其在各个领域的广泛应用,解释了波特率、数据位、校验位和停止位等关键参数的作用。随后,文章深入分析了乱码产生的主要原因,包括编码不一致(如ASCII、UTF-8、GB2312)和字节处理不当(如字节顺序、数据截断、缓冲区溢出)。接着,文章介绍了如何通过选择正确的编码方式(如根据下位机特性选择编码)和设置串口的编码属性来避免乱码。此外,还讨论了字节处理技巧,如处理字节顺序、避免数据截断和缓冲区溢出,并介绍了常见的数据校验方法(如校验和、CRC)。最后,通过一个智能家居监控系统的具体示例,展示了如何分析和解决乱码问题。 适合人群:具备一定编程基础,特别是对C#和串口通信有一定了解的研发人员。 使用场景及目标:①帮助开发者理解串口通信的工作原理;②指导开发者如何通过正确的编码设置和字节处理技巧避免乱码问题;③提供具体的代码示例和解决方案,帮助开发者解决实际项目中的乱码问题。 阅读建议:本文内容详尽,涵盖了许多技术细节,建议读者在阅读时结合实际项目进行思考和实践,特别是在编码设置和字节处理方面,多做实验和调试,以加深理解。

计算机学长

【C#上位机开发】初级面试常见技术问题解析:涵盖数据类型、异常处理、网络与串口通信基础

【C#上位机开发】初级面试常见技术问题解析:涵盖数据类型、异常处理、网络与串口通信基础C#

观天小蚁
评论 16
收藏 已收藏
分享
返回顶部
a12321321321312321
C# 111,129 成员 642,538 内容