RT,今天我在玩一个STM32和外设通过串口通信的问题,因为外设只有一个串口,所以接收发送都是用的串口2,但是现在出现一个问题,发送的时候会把接收到的数据一起发送过去,我的理解是,发送和接收共用DR寄存器,发送的时候是将DR寄存器内的东西全部发送出去,其中除了USART->DR=BUF[t]中赋予的值之外,还有接收到的值,所以我试着用以下两种方式来解决,但是都失败了。。。第一种,我是在发送前先USART2->CR1&=0<<2,不使能接收,等发送完成之后再使能接收,但是这样stm32直接就不能发送数据了。。。第二种,我是想当RXNE为0的时候再发送数据,如果RXNE为1就不发送,并且将RXNE置零,但是这样STM32还是一样不能发送数据了。。。请大神指点迷津。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
非常感谢
一周热门 更多>