串口通讯死机如何解决??

sunlinghome 2008-09-28 10:13:48
我的串口通讯程序用C++Builder编写,用来向串口写入数据、读取串口接收到的数据,

问题是:1.串口通讯就死机

2.读写收到的都是乱码

请教一下,如何解决问题?
...全文
935 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunlinghome 2008-10-24
  • 打赏
  • 举报
回复
后来我发现,是因为RS232有两根线不需要接到设备上的,却被我不明就里的接上去了,去掉那两根线就一切顺利了
bobey 2008-10-05
  • 打赏
  • 举报
回复
我之前也碰到如果串口的数据突然停止,则这个程序死锁。后面发现是串口接收消息处理有问题,修改后就可以了。
对于乱码的问题,我赞同楼上的观点。
jufeibing 2008-09-30
  • 打赏
  • 举报
回复
串口通信要注意几点:
1.设备厂家可能提供的串口数据本身格式就有问题(本人就遇到过)
2.用char数组 复制接收VARIANT 中的byref,看看它到底每个字符是什么
有的数据会是这样的(Unicode形式),而这种格式,显示的就是乱码,因为
调试的时候,字符串的显示遇到'\0'就被切断了,其它就不显示了
aa[0]= 0x2
aa[1]= '\0'
aa[2]= 'a'
aa[3]= '\0'
aa[4]= 'b'
aa[5]= '\0'
aa[6]= 'c'
aa[7]= '\0'
用户 昵称 2008-09-30
  • 打赏
  • 举报
回复
第一个问题,你是否在接受数据时使用了消息?
如果第一个问题不解决,谈论第二个问题还早,不能过早的定论乱码的原因。
vc8fans 2008-09-29
  • 打赏
  • 举报
回复
?
zaodt 2008-09-29
  • 打赏
  • 举报
回复
是你的程序假死了吧,别人的程序没事情对吧?


那是线程阻塞了。



如果还是菜鸟,那先用 MSCOMM32 控件吧。
sunlinghome 2008-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lfchen 的回复:]
1.串口通讯就死机
//死机了还是程序无响应?
2.读写收到的都是乱码
//既然死机了怎么收到乱码?
[/Quote]

像死机的样子,程序还有别的窗口都没有反应,非常非常卡,5分钟反应一下,只反应1秒钟,就继续卡死

就在这一秒钟读到乱码
sunlinghome 2008-09-29
  • 打赏
  • 举报
回复
哈哈,我的确是菜鸟啊,已经装上MSCOMM32了,再试试看
sunlinghome 2008-09-29
  • 打赏
  • 举报
回复
请问大侠有没有MSCOMM32?我在网上下载的不能用,现在很头大
谢谢^_^
一条晚起的虫 2008-09-28
  • 打赏
  • 举报
回复
1.串口通讯就死机
//死机了还是程序无响应?
2.读写收到的都是乱码
//既然死机了怎么收到乱码?

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧