星空网 > 软件开发 > 操作系统

STM32重映射(PinRemap)的使用,注意!

STM32重映射,内容和细节稍后补充,这里只说几个注意点,花了我一晚上的时间调试终于找到问题所在了。。。

 

芯片: STM32f107vct6

晶振: 25M

通过分频器与锁相环,使系统时钟为72M

背景: SPI3的重映射使用

 

一、

重映射函数原型:

void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState)

STM32f107vct6不是FPGA,重映射是固定的,无法自行指定,要查表,看看映射到了哪

比如SPI3,查询datasheet(好好利用ctrl+f)后可知

Alternate functionSPI3_REMAP = 0 SPI3_REMAP = 1
SPI3_NSS PA15PA4
SPI3_SCK PB3PC10
SPI3_MISOPB4PC11
SPI3_MOSIPB5PC12

 

 

 

 

 

 

二、

非常重要!remap一定要在时钟使能之后配置,否则无效

神奇了真是

重映射步骤:
· (1)使能被重新映射到的I/O端口时钟
  RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
· (2)使能被重新映射的外设时钟
  RCC_APB2PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
· (3)使能AFIO功能的时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
· (4)进行重映射

  GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);

 

注:· (1)(2)(3)顺序可换,

 

  · 或者,在APB2总线上的设备,用 或( | ) 一起进行时钟使能,

     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);

    但一定要在(4)之前。否则remap无法配置成功  

 

  · GPIO的配置虽然可以先GPIO再RCC。。为了统一格式,一律先开时钟再配置

 

 

 

 

 




原标题:STM32重映射(PinRemap)的使用,注意!

关键词:映射

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

印尼关闭TikTok小店对哪些卖家影响较大,如何“补救”?:https://www.goluckyvip.com/news/17970.html
新手入门:手把手教你如何在TikTok开直播:https://www.goluckyvip.com/news/17971.html
TikTok网红营销:挖掘潜在客户的高效策略:https://www.goluckyvip.com/news/17972.html
供应链系统中的仓库类型拆解:实体仓、逻辑仓、虚拟仓:https://www.goluckyvip.com/news/17973.html
Zalando宣布推出新履行服务,卷入电商物流竞争:https://www.goluckyvip.com/news/17974.html
东南亚电商圈上演“消失的它”,Temu悄然息影:https://www.goluckyvip.com/news/17975.html
今年广交会的新现象:外贸商家用AI同步开线上展会:https://www.xlkjsw.com/news/91223.html
龙脊梯田在哪?从桂林到那里需要多久?周围还有什么好玩的?:https://www.vstour.cn/a/407241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流