串口数据寄存器(USART_DR)怎样手动清空

2019-07-20 23:48发布

      项目中需要STM32做下位机,用串口1给电机驱动器发送读取码盘位置的指令,读取指令发出后,驱动器会自动返回码盘的位置信息到数据寄存器中,然后将读到的数据通过串口2发送到上位机,也就是PC端。
      调试中发现,当用串口1给电机驱动器发送了读取指令后,这个指令会存在串口数据寄存器里,造成下一步用串口2第一次发送数据寄存器里的数据时,将这条指令给发回来了,考虑先数据寄存器它手动清空,这样再去用串口2去发送读到的码盘数据。
      调试中还遇到很多问题,比如串口与上位机的通信建立的很慢,经常丢数据,程序里该怎么解决?纯小白,自学单片机做项目,过程坎坷,希望有类似项目经历的大手子多多指教,谢谢大家!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。