完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文章以STM32F407ZGTx为例:
1、首先我们需要知道能够作为串口使用的GPIO有哪些: 这里以串口一为例:PA9作为TX,PA10作为RX。 2、对串口的配置: (1)、首先我们要知道串口的配置过程: GPIO的初始化,串口的初始化,NVIC的初始化。故首先我们要先创建这些初始化必要的结构体: (2)、开启时钟 (3)、对GPIO进行配置 GPIO的配置主要是对GPIO的初始化,这里使用的是stm32f4xx_gpio.c文件里的GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)函数对GPIO初始化,初始化的内容主要是对GPIO_InitStruct里面的元素进行赋值,然后传递给该函数。 (4)、对串口1进行配置 串口的配置主要是对串口的初始化,这里使用的是stm32f4xx_usart.c文件里的USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)函数对串口初始化,初始化的内容主要是对USART_InitStruct里面的元素进行赋值,然后传递给该函数。 (5)、对NVIC(总中断)进行配置 NVIC的配置主要是对NVIC的初始化,这里使用的是misc.c文件里的NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)函数对NVIC初始化,初始化的内容主要是对NVIC_InitStruct里面的元素进行赋值,然后传递给该函数。 (6)、编写串口中断函数 我们可以通过获取串口一的中断标志位来判断是否为串口一产生的中断,获取中断标志位的函数在stm32f4xx_usart.c文件中USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)或USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)。(我这里写的只是将发过来的数据再发回去的代码) (7)、重写fputc函数,将printf通过串口打印出来 这样我们就可以通过使用printf函数来打印串口数据啦。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1754 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1053 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1667 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
716浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
562浏览 3评论
587浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 10:37 , Processed in 0.998063 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191