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

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

[复制链接]
STMCU小助手 发布时间:2022-6-22 22:12
STM32作为一款功能强大的集成芯片,内置了许多外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。而许多外设引脚除了拥有默认的端口外,还可以通过配置重映射寄存器,将引角映射到其他端口上,不仅是为了制版时布线方便,还可以潜在的减少信号的干扰。
) L) N% |- x) U6 V( m
1、端口复用的配置步骤
) N! g- ^, |% y6 m2 W! ]- B* @, H* c
① GPIO端口时钟使能。! V6 T7 ^' Z% F. D6 |
②复用外设时钟使能。# U4 B* a8 I; {9 R; f: }
③端口模式配置。(需要查找《STM32中文手册》中外设的GPIO的配置)需要该手册可以在公众号内回复:STM32中文手册
: [: q3 \, \( Q9 [" ~/ n% }9 c+ s4 R7 L/ K- S6 e1 d
例:以PA9,PA10复用为串口1为例( f4 D" ^/ X: f! g3 d
//①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);

& k  s; p5 v! a2 k
2、端口重映射的配置步骤(只有部分外设引脚具有重映射端口,具体需要查找数据手册)
# f5 l2 Q0 W9 g# m0 [- l/ S4 M①使能GPIO时钟(重映射后的IO);0 V& H) M6 i1 c8 ^2 A
②使能功能外设时钟。
1 _# T+ G4 S  w: y' c( _③使能AFIO时钟,重映射必须使能AFIO时钟。
0 g7 x" Q6 t- `' B+ `+ l RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);! }+ o" g5 G9 S. H: T% H" A0 H
④ 开启重映射。
& M5 U. {9 v3 p( L5 A+ }1 z* Y
GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
; p' a" h1 ?% p$ s注:需要根据第一个形参来确定是部分重映射还是全部重映射6 r7 Q6 k4 E: E

  B) h3 J( G! O0 z
1 x5 `) C8 o7 @* Q/ `
收藏 评论0 发布时间:2022-6-22 22:12

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版