STM32F429有很多个串口,这些串口分为两大类。一类是usart也就是同步/异步收发器。还有一类是uart也就是异步收发器。
关于串口的发送流程大体有:
首先进行,串口的初始化,设置串口发送的数据位,停止位,校验位,硬件流的设置,还有一个特别重要的波特率的设置。
设置好了这些以后,还要考虑到,串口的初始化函数里面有一个调用的函数叫做,msp函数,这个是弱函数,我们需要将其
进行重新的编写,这个函数里面一般都是写mcu级别的一些设置,比如我们要使用串口的功能就可以先加入判断我们要使用的是哪个串口,这些使用到的串口怎么进行一个复用功能的配置?
GPIO口进行复用的设置以后还要对应的打开,GPIO的时钟,串口的使能时钟。我们的操作类似于GPIO初始化的一套流程。就按照那个进行相应的设置。
当串口进行设置完毕以后,就可以使用串口发送函数进行相应的数据的发送。只需要按照串口的发送函数,进行相应的形参的设置就可以了,比如用哪个串口进行发送?要发送的数据是什么?
发送的数据的字节大小是多少?发送的时间是多少?还有超时的时间设置为多少的这样的参数。设置好了以后,就可以进行相应的数据的发送。
下面是关于串口接收的流程:稍微有些复杂,不过没有关系,慢慢来。
首先进行串口的初始化,定义接收的位数,定义停止位,定义我们的波特率,硬件流的设置等等。
设置好了以后,我们要将串口接收进行使能。并且按照我们的需要选择是不是要开启串口接收中断,
整体的步骤就是:先使用HAL_UART_Init函数进行初始化的设置,然后开启接收中断,使用函数HAL_UART_Receive_IT函数。
总的来说呀,先进行,串口初始化,在MSP函数里面进行GPIO——Init函数。接下来配置串口接收中断优先级的配置和使能。
使用函数NVIC_EnableIQR();还有函数NVIC_Setpriority()函数即可。再后来进行设置使能串口接收中断。
最后我们来编写中断服务函数:USARTx_IRQHandler函数。这里需要注意的是终端服务函数,里面会调用HAL库提供的详细的
】中断处理函数HAL_UART_IRQHandler。