STM32串口通讯问题

STM32串口通讯问题,第1张

单片机接收处理串口数据的过程就是配置好波特率、位宽、校验位等,收到数据 后可以引起中断,也可以查询标志位,然后进行相应的处理。

1) 串口时钟使能,GPIO 时钟使能。

2) 设置引脚复用器映射:调用 GPIO_PinAFConfig 函数

3) GPIO 初始化设置:要设置模式为复用功能。

4) 串口参数初始化:设置波特率,字长,奇偶校验等参数。

5) 开启中断并且初始化 NVIC,使能中断(如果需要开启中断才需要这个步骤)。

6) 使能串口。

7) 编写中断处理函数:函数名格式为 USARTxIRQHandler(x 对应串口号)

USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);这个是判断串口是否触发接受(USART_IT_RXNE)中断,如果为发送中断则为(USART_IT_TXE),若产生中断则接受产生的8位2进制数据,而那个i的设置我猜测是楼主要接受字符串而设定的初值,发送完成则晴空标志位

延时不用了吧,因为是进中断的

for(i=0;i<8;i++)

{

RxBuffer[i] = USART_ReceiveData(USART1);

}

这个你看看变量i是怎么定义的,是不是静态的局部变量,这个要注意

而且你这里的中断有个很大的问题,就是进一次中断你就让数组RxBuffer收了

8个数据,这样是不对的吧。应该进一次中断就收一个数据而已,不然你整个数组不都是一次USART_ReceiveData(USART1)的数据吗?这里你好好想想看~~

最后一句USART_ClearITPendingBit( USART1, USART_IT_RXNE);改为

USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);

以上就是关于STM32单片机如何处理QT上位机串口中发过来的数据全部的内容,包括:STM32单片机如何处理QT上位机串口中发过来的数据、STM32串口函数求教,这是什么函数啊,有什么作用、STM32串口通讯问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8834942.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存