您现在所在的是:

串口通信

回帖:2个,阅读:453 [上一页] [1] [下一页]
664
xuying2529
文章数:4
年度积分:50
历史总积分:664
注册时间:2013/11/15
发站内信
发表于:2013/11/15 9:18:14
#0楼
单片机P89C669,串口0用来和触摸屏通信,用的是定时器1;串口1用来和PC进行通信,用的是自带的波特率发生器BRT。两串口都是使用中断的方式控制的。客户最近反映在使用的过程中与PC通讯有时会出现死机的情况,但是重新开关机以后又恢复正常,无规律可循。实际测试的过程中发现:两个串口单独烧写程序都能正常工作,但是一旦两个串口程序放一起工作时,与触摸屏通信正常,但与PC通信单片机反应就没那么灵敏了,有时能接收到有时接收不到,用串口监控软件查看是有数据发送出去,但是单片机无应答信号。个人认为是发送的数据未接收完全,而无法产生应答信号。尝试过在一个串口进中断时屏蔽掉另一个(进中断关闭中断标志位,出中断打开中断标志位)或关闭总中断再打开,问题还是无法解决。不知道该怎么解决?
10516
xlian
文章数:3232
年度积分:62
历史总积分:10516
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2013/11/15 22:43:23
#1楼
如果做成硬件握手能解决你的问题,或者使用软件握手,比如你接收不到规定的数据时,请求PC重发;
虽然你使用了两个串口,但你的程序要做成调度模式,如果你的串口带有缓冲或者可配置DMA的话就行;
[此贴子已经被作者于2013/11/15 22:44:59编辑过]
664
xuying2529
文章数:4
年度积分:50
历史总积分:664
注册时间:2013/11/15
发站内信
发表于:2013/11/16 8:19:28
#2楼
哦,这样子是不是就需要更改我原来的通信协议了呢?毕竟已经是成熟的产品,要改通信协议不是很方便的。
[此贴子已经被作者于2013/11/16 8:31:25编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002