请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32f1系列端口复用及重映射的配置步骤

[复制链接]
STMCU小助手 发布时间:2022-6-22 22:12
STM32作为一款功能强大的集成芯片,内置了许多外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。而许多外设引脚除了拥有默认的端口外,还可以通过配置重映射寄存器,将引角映射到其他端口上,不仅是为了制版时布线方便,还可以潜在的减少信号的干扰。
# _' q" n) Y- W# y( h
1、端口复用的配置步骤
9 D8 O( f; ?" [- J, c6 j
① GPIO端口时钟使能。
0 }8 ?* M$ a! p: Z$ d②复用外设时钟使能。
" }# J" B$ W0 u6 c4 G6 A7 a/ j③端口模式配置。(需要查找《STM32中文手册》中外设的GPIO的配置)需要该手册可以在公众号内回复:STM32中文手册; Z' |# t' J7 E

6 |# G. Q) b+ C
例:以PA9,PA10复用为串口1为例
9 W" z6 \* J* d. ?# U7 _  H
//①IO时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//②外设时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//③初始化IO为对应的模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA9复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 浮空输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
9 [. y' }2 R1 h. ^0 [
2、端口重映射的配置步骤(只有部分外设引脚具有重映射端口,具体需要查找数据手册)
! l- Q  ?3 H  p& m①使能GPIO时钟(重映射后的IO);3 g6 A# I; O6 X- ]: x4 B  J
②使能功能外设时钟。: ^" d" e/ ]* P' m; h- O) z
③使能AFIO时钟,重映射必须使能AFIO时钟。
) C3 b5 V) A) x* Z7 \! S/ ^! u1 l RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);" ^1 s8 |1 Z2 l9 R" [6 G' }7 m3 p
④ 开启重映射。
/ O, G/ L! Q2 e
GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);& j) c3 d! D, q; N% f
注:需要根据第一个形参来确定是部分重映射还是全部重映射
5 r- z" D# X( A( H! L' A5 }
5 C( K0 H5 K$ N- G, r# f5 c" L7 H, P! @: H/ t$ s/ O5 `  H) ~
收藏 评论0 发布时间:2022-6-22 22:12

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版