打印

2路通讯系统中通讯问题

[复制链接]
1277|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
peache|  楼主 | 2010-1-7 16:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在做了一个系统:UART0对后台,传输AD采样、地址码等数据;UART1对一个红外通讯,主要功能是我发送测试码给被测装置,被测装置收到命令后返回数据,单片机收到数据后检验校验位,看被测装置的红外通讯部分是否正常。红外通讯(UART1)必须在UART0完成后才进行,同时UART0完成后除UART1测试外还有其他事情,比如AD采样,测量脉冲信号等中断。为了不使中断打架或是少打架(定时中断是全局的),我设置成完成一个事情(比如AD采样)后再进行下一个事情(测脉冲),只有所有事情完成后(AD采样,测脉冲,红外通讯测试)才把数据整合一起,传给PC机,作为UART0的返回数据。
  现在有个问题,红外通讯超时,无反应怎么处理。比如说我在AD、脉冲测试完成后进行红外测试,但我程序UART1发送了测试代码,但过了一定时间没返回(被测装置红外电路有问题)我就判定UART1通讯超时,红外通讯测试失败,置红外通讯完成标志。那么就可以进行下一步--返回PC机数据。  但后台呼叫单片机程序1次是可以的,有返回,为什么呼叫第2次...3次都没返回?  那个红外通讯完成标志什么时候清?UART0完成后?UART0通讯超时?

相关帖子

沙发
peache|  楼主 | 2010-1-7 17:31 | 只看该作者
没人回答? 问题没描述清楚么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

85

帖子

1

粉丝