【STM32】GPIO复用和映射
1.什么叫管脚复用
STM32F4有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。
STM32F4系列微控制器IO引脚通过一个复用器连接到内置外设或模块。该复用器一次只允许一个外设的复用功能(AF)连接到对应的IO口。这样可以确保共用同一个引脚的外设直接不会发生冲突。
1.1系统功能
将 I/O 连接到 AF0,然后根据所用功能进行配置:
- JTAG/SWD:在各器件复位后,会将这些引脚指定为专用引脚,可供片上调试模块立即使用(不受 GPIO 控制器控制)。
- RTC_REFIN:此引脚应配置为输入浮空模式。
- MCO1 和 MCO2:这些引脚必须配置为复用功能模式。
2.端口复用配置过程
针对STM32F407。
- GPIO端口时钟使能
- 复用外设时钟使能
- 端口模式配置为复用功能
- 配置引脚映射(有的教程没有这一步,可能是标准库版本较新,在GPIO配置初始化的时候就会配好)
3.PA9,PA10复用为串口1的配置过程
void Init_USART(void) { RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//使能GPIOA时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟 //USART1端口配置 GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10; GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF;//复用功能 GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;//推挽复用输出 GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;//上拉 GPIO_InitStruct.GPIO_Speed=GPIO_Fast_Speed;//速度50MHz GPIO_Init(GPIOA,&GPIO_InitStruct);//初始化PA9,PA10 //USART1对应引脚复用映射 GPIO_PinAFConfig(GPIOA, GPIO_PinSource9,GPIO_AF_USART1);//PA9复用为USART1 GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,GPIO_AF_USART1);//PA10复用为USART1 }这个配置了怎么使用呢,我们在以后再讲解。但是我们咋知道哪个外设复用哪个引脚呢?
其实,需要查看手册,在另外一个产品手册中有表格。
但是我们咋知道哪个外设复用哪个引脚呢?
其实,需要查看手册,在另外一个产品手册中有表格。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

