会员pengbiao1210求助发在论坛了,帮他发在问答频道,请大家帮助帮助他
硬件仿真时,程序复位后 单片机发送一个0x00给串口,请问怎么回事 怎么解决 谢谢,我不使能串口发送,串口助手还是能接收到0x00
这个不是单片机发送的,是每次复位或上电后电平变化导致的,助手误认为是接收到的数据。
如果想消除这个影响,串口的通讯应该加上通讯协议,每次判断包头包尾来验证该数据是否符合要求,不应该每次判断一个字节,所有的产品都是这样的。
好像51与STM8都有这个问题。
由于复位时状态不太稳定造成的,解决办法是程序开始加一个几十毫秒的延时。
您復位時候,每個Register都有預設值的,而不使用串口也是啟動之後才能設置,即剛上電的初始狀態是無法軟體控制的,只能由硬體控制,不過您這個Case裡只是多接收一個0x00(一個char/byte)資料,把它捨棄掉即可,不需要對硬體電路改動,若是MCU之間對接通訊,可以軟體內設置上電啟動時候第一個接收到的byte為無效,自動丟棄,從第二個byte開始進行程式處理
以上是我想法,希望對您有用