C#串口CHART控件绘图时出现的数据干扰问题解决

博主在使用C#串口通信时遇到数据干扰问题,表现为绘图时出现大量归0的点。排查了波特率、帧头帧尾检测等因素,最终发现是由于下位机发送的帧头帧尾为字母字符,在C#中强制转换导致转换为0,产生干扰。修复方法是将帧头帧尾改为数字,成功消除干扰。
摘要由CSDN通过智能技术生成
    本上位机是针对 STM32下位机进行开发的,使用c#语言,功能之一就是把下位机数据发送过来绘图。
    目前STM32串口看到的比较好的方案有两种

    1.串口通信两端使用共用体(C#本身不支持共用体,仅支持模拟共用体

    2.直接发送字符串:"帧头,数据,数据,数据,数据,数据,帧尾",这也是博主采用的方式。

但在绘制下位机数据时,出现了奇怪的现象

绘制时出现很多归0的点,这不符合预期。

这个问题研究了很久:也想过很多原因:1.波特率设置过高2.帧头帧尾检测3.数据传输丢包等等,结果一直没调试好。

后来研究C#代码,发现这么几句:

            string[] strArray = str.Split(new char[] { ','});//
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值