
2个回答
展开全部
上电才能发送是因为开始时软件对通讯口做了初始化,所以可以正常发送,而发送一次后状态就变了。
1、很有可能是在发送最后一个字节时,将数据送入了SBUF后就不再处理了,其实单片机将该字节发送后,会将TI置1,软件必须对TI再做清零操作,才能保证一次通讯发送真正完成,接口恢复到初始状态。采用在中断程序里发送数据的模式尤其容易在这里出错。
2、如果通讯是由PC机触发的,可能还要查一下是否有清零REN的语句,保证空闲时REN出于1的状态。
3、还有就是串口中断控制位是否发生变化,影响了串行中断的产生
其实牵涉到通讯的控制位就是那么几个:RI、TI、REN、ES、PS、EA,有针对性的查一遍就是了。
1、很有可能是在发送最后一个字节时,将数据送入了SBUF后就不再处理了,其实单片机将该字节发送后,会将TI置1,软件必须对TI再做清零操作,才能保证一次通讯发送真正完成,接口恢复到初始状态。采用在中断程序里发送数据的模式尤其容易在这里出错。
2、如果通讯是由PC机触发的,可能还要查一下是否有清零REN的语句,保证空闲时REN出于1的状态。
3、还有就是串口中断控制位是否发生变化,影响了串行中断的产生
其实牵涉到通讯的控制位就是那么几个:RI、TI、REN、ES、PS、EA,有针对性的查一遍就是了。

2023-06-12 广告
单片机的原理是比较复杂的,但是可以通过浅显易懂的语言来解释。单片机是一种集成电路芯片,通常包含处理器、存储器和各种输入输出(I/O)端口。处理器负责执行程序代码,并处理数据和指令;存储器用于存储程序代码和数据;输入输出端口用于与外部设备交互...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询