使用hal库,使stm32f0以dma方式进行串口通信(一)
接前面的博客。由于发现代码健壮性太差,决定使用STM32Cube进行开发;同时因为某些原因,甲方要求使用STM32F0,因此这里便对开发流程做个说明。
1. STM32Cube的设置
2. Keil5的代码编写
1. STM32Cube的设置
-
打开STM32Cube后,选择“新建工程”(New Project)
-
在左侧的搜索栏,输入“stm32f030c8”,并选择该芯片
-
在左侧的“高速时钟”(High Speed Clock)处选择晶振
-
在左侧的串口一(USART1)处选择异步通信(Asynchronous)
-
上述设置完成后,选择上方的“时钟配置”(Clock Configuration),根据情况情况配置时钟树
-
然后选择“配置”(Configuration),选择“串口一”(USART1),然后选择“DMA设置”(DMA Setting),将串口的DMA配置好。在配置时,应注意在左下方的“Memory”处打上勾
-
然后在“中断设置”(NVIC Setting)处使能中断
-
根据需要配置波特率
-
上述操作完成后,点击红圈处的代码生成按钮,并填好工程信息
-
值得注意的是,需要在该处选择这个选项,分离 .c 和 .h 文件
-
最终如图所示
至此,代码框架已经准备好了,下面就开始使用HAL函数进行编程