STM32CubeF4的库为我们提供了全新的结构,本次就官方CubeF4库中的串口例程,跟大家分享一下经验,有不足的地方还请大家指正, 想要使用串口的功能,需要在stm32f4xx_hal_conf.h里面取消串口宏定义的注释,使用其他功能,进行相同操作,如下: #define HAL_UART_MODULE_ENABLED 然后首先需要声明一个UART_HandleTypeDef类型的结构体,该结构体里声明了串口相关的重要参数,为了使程序容易更改,更具有结构性,在main.h里面需要定义相关的宏定义,结构体声明如下:UART_HandleTypeDef UartHandle;并在主函数初始化参数。 然后需要在stm32f4xx_hal_msp.c这个文件里增加HAL_UART_MspInit();函数以完成串口的初始化,主要完成时钟,中断(如果用到),DMA(如果用到),以及串口相关引脚以及参数的初始化。这里需要用到HAL_GPIO_Init()函数,该函数可以自动调用HAL_UART_MspInit();函数,完成初始化的工作。 最后在主函数中调用HAL_UART_Init(&UartHandle)函数,即可完成串口的初始化, 在中断模式下发送数据需要调用HAL_UART_Transmit_IT() ;函数,接收数据需要调用 HAL_UART_Receive_IT() ;具体请参考例程。 |
【stm32F429开发日志】STM32F429上 NES 模拟器 移植 试玩
【小“福”蝶赏灯展+Nucleo-STM32F410】
读书感悟--STM32库开发实战指南——基于STM32F4(有空更新)
【STM32F429心得\疑问】+STM32学习心得(新手必看)
【我要为STM32站台】+基于STM32F4的视觉追踪系统
【我要SHOW】我的STM32F411
【我要show】+STM32F407+我爱ST
【我与STM32共成长】+脚踏STM32F1和STM32F4两条船
[线下活动] STM32F4与STM32L4系列功耗对比分析与测试
[STM32粉丝狂欢节开箱]STM32F410和L432