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

对于STM32 GPIO复用和重映射理解

[复制链接]
deanquan 提问时间:2015-7-21 11:26 /
对于GPIO复用和重映射功能我的理解。
       复用功能:对于很多的IO口都有复用功能,复用功能可以在DataSheet里面找到,要想用某个复用功能,首先把IO口配置成复用功能模式,复用输出输入模式(根据功能的不同配置成不同的模式,参考手册P110页里面有详细的介绍)。比如你想用PA8复用功能TIM1-CH1输出比较,先把PA8设置为推挽复用输出(GPIO_MODE_AF_PP)。再配置TIM1-CH1即可。

      重映射功能:每个IO口的重映射功能可以通过查看DataSheet找到。TIM3-CH1没有重映射的时候对应引脚PA6,当我选择部分重映射的时候对应引脚PB4,选择完全重映射的时候对应引脚未PC6,此时要主要在选择部分重映射和完全重映射的时候其他的引脚也有发生变化。


     另有个不解的地方就是库函数GPIO_PinRemapConfig,对照寄存器没有弄明白。

      欢迎大家聊聊这两个功能的其他理解。


       一起学习一起进步!
收藏 评论5 发布时间:2015-7-21 11:26

举报

5个回答
creep 回答时间:2015-7-21 13:50:19
本帖最后由 creep 于 2015-7-21 18:36 编辑

库函数GPIO_PinRemapConfig就是用来重映射使用的啊。
就拿你说的TIM3-CH1如果没有映射的时候对应PA6。
TIM3-CH1如果部分重映射的对应PB4,使用下面的库函数设置:
  1. GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射TIM3_CH1->PB4   
复制代码

TIM3-CH1如果完全重映射的对应PC6,使用下面的库函数设置:
  1. GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE); //Timer3完全重映射 TIM3_CH1->PC6   
复制代码


这种用来一般在F1系列使用,在F4重映射的使用下面的函数:
  1. void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)
  2. {
  3.   uint32_t temp = 0x00;
  4.   uint32_t temp_2 = 0x00;
  5.   
  6.   /* Check the parameters */
  7.   assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  8.   assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource));
  9.   assert_param(IS_GPIO_AF(GPIO_AF));
  10.   
  11.   temp = ((uint32_t)(GPIO_AF) << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ;
  12.   GPIOx->AFR[GPIO_PinSource >> 0x03] &= ~((uint32_t)0xF << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ;
  13.   temp_2 = GPIOx->AFR[GPIO_PinSource >> 0x03] | temp;
  14.   GPIOx->AFR[GPIO_PinSource >> 0x03] = temp_2;
  15. }
复制代码

creep 回答时间:2015-7-21 15:01:33

看了下你的研究,才发现你才是大神啊,求带!!
基于STM32F4 的图像压缩技术研究
moyanming2013 回答时间:2015-7-21 15:10:01
学习了。。。
myFelix 回答时间:2015-7-21 17:23:01
你们都是大牛
stary666 回答时间:2015-7-21 17:45:58
看看,,,,,,,,

所属标签

相似问题

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