
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 广告
像是一个论题,不知道你了解多少单片机。 原理就是,很多集成电路,是他具备运算,存储数据和程序的能力,以及输入输出端控制的能力。 使用我自己的话讲就是,通过编程是用算术和逻辑运算,io控制,定时器计数器等,来实现复杂的功能。 更专业的解答可联...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询