ba_wang_mao 发表于 2008-8-8 13:22:53

请教马老师,USART的数据寄存器空中断,我的理解是否正确。

 在马老师的指南书上没有找到相关的介绍,我需要做485通讯

   1、系统上电后,485总线处于接收状态。
   1、接收完一帧正确的数据后,立即置485总线为发送状态。
   2、发送完给上位的应答数据后,再次置485总线处于接收状态。

   我希望在发送应答信号的缓冲区最后一个字节时,允许《USART数据寄存器空中断》,在《数据寄存器空中断》中断服务程序中
   置485总线处于接收状态,然后禁止《USART数据寄存器空中断》。

   

NewNew 发表于 2008-8-12 23:18:09

马老师很生气,后果很严重!最近怎么马老师不帮我们讲解问题答案了!

ba_wang_mao 发表于 2008-8-13 08:51:40

huxi 发表于 2008-8-13 09:20:01

我没具体试过,但我手册仔细看过,按照我的理解:数据寄存器空中断产生的时候,移位寄存器仍然可能还没工作完成,这时候就转为接收,可能最后一个发送字节会有问题。

ba_wang_mao 发表于 2008-8-13 15:32:26

发送完成中断产生时,判断是最后发送字节时,这时移位寄存器肯定为空,发送缓冲器也为空。
  因此应该在这里置《RS485总线接收》状态。
页: [1]
查看完整版本: 请教马老师,USART的数据寄存器空中断,我的理解是否正确。