智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1605|回复: 4
打印 上一主题 下一主题

C# 上位机串口调试有问题

[复制链接]

1

主题

6

帖子

0

精华

高级会员

Rank: 4

积分
775
威望
393
贡献
242
兑换币
239
注册时间
2014-1-10
在线时间
70 小时
毕业学校
啦啦啦
跳转到指定楼层
1#
发表于 2014-3-10 12:25:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我自己写的C#串口通信,基于winform的
我拿usb转232的串口短接TXD和RXD可以完美通信;
但是我拿下位机向电脑发数据,数据接收框里就不显示;
然后我又用串口短接TXD和RXD发了数据,结果数据接受框里面的出现了直接下位机发送的数据和我刚刚发的数据,求解不明白为什么


private void ComPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
serialPort1.ReceivedBytesThreshold = serialPort1.ReadBufferSize;
string strRecv = serialPort1.ReadLine();
// 处理接收到的数据
char[] temp = strRecv.ToArray();
if (temp[0] == '\n' || temp[0] == '\r')
{
textBox1.AppendText("\n");
}
textBox1.AppendText(strRecv);


}
catch (Exception err)
{
serialPort1.Close();
MessageBox.Show(err.Message);
}
finally
{
serialPort1.ReceivedBytesThreshold = 1;
}
}
回复

使用道具 举报

28

主题

384

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
11302
QQ
威望
4738
贡献
2872
兑换币
2739
注册时间
2012-2-25
在线时间
1846 小时
2#
发表于 2014-3-10 19:58:01 | 只看该作者
你这程序写的略奇葩啊...
回复 支持 反对

使用道具 举报

24

主题

1090

帖子

0

精华

常驻嘉宾

不会做车,只会瞎BB的毕业考研狗

Rank: 8Rank: 8

积分
5429

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
3088
贡献
663
兑换币
2343
注册时间
2012-11-4
在线时间
839 小时
毕业学校
河北联合大学
3#
发表于 2014-3-10 20:07:57 | 只看该作者
serialPort1.ReceivedBytesThreshold = serialPort1.ReadBufferSize;
干嘛加这句话?
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

高级会员

Rank: 4

积分
775
威望
393
贡献
242
兑换币
239
注册时间
2014-1-10
在线时间
70 小时
毕业学校
啦啦啦
4#
 楼主| 发表于 2014-3-10 20:39:19 | 只看该作者
旋风麦林 发表于 2014-3-10 20:07
serialPort1.ReceivedBytesThreshold = serialPort1.ReadBufferSize;
干嘛加这句话?

开始读数据的时候吧触发改到最大,避免多次触发
回复 支持 反对

使用道具 举报

0

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1372
威望
727
贡献
415
兑换币
468
注册时间
2012-12-15
在线时间
115 小时
5#
发表于 2014-5-10 16:08:47 | 只看该作者
呵呵,这个问题你可能刚刚遇到,具体和串口芯片的协议有关,还有数据活跃性有关,当PC端装有串口芯片的驱动时,驱动会根据他们自己的协议 来给操作系统一个触发源,就比如ft232这块串口芯片的触发源还和数据活跃度有关,如果你的数据活跃度不够拿它的触发时间会非常长,所以你写串口助手时,除了对硬件触发事件时读取串口缓存时还要写一个线程来监控串口缓存是否有数据,有的话就直接读取而不依赖本身给你的触发源
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-7 06:45 , Processed in 0.057759 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表