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

芯片: STM32f107vct6

晶振: 25M

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

背景: SPI3的重映射使用

一、

重映射函数原型:

void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState)

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

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

Alternate function SPI3_REMAP = 0  SPI3_REMAP = 1
SPI3_NSS  PA15 PA4
SPI3_SCK  PB3 PC10
SPI3_MISO PB4 PC11
SPI3_MOSI PB5 PC12

二、

非常重要!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)的使用,注意!的更多相关文章

  1. STM32重映射

  2. STM32 UART 重映射

    在进行原理图设计的时候发现管脚的分配之间有冲突,需要对管脚进行重映射,在手册中了解到STM32 上有很多I/O口,也有很多的内置外设像:I2C,ADC,ISP,USART等 ,为了节省引出管脚,这些内 ...

  3. STM32 TIM重映射

    复用功能 没有重映射 部分重映射 完全重映射 TIM3_CH1 PA6 PB4 PC6 CH2 PA7 PB5 PC7 CH3 PB0 PB0 PC8 CH4 PB1 PB1 PC9 /**重映射 t ...

  4. STM32 ~ STM32 TIM重映射

    复用功能 没有重映射 部分重映射 完全重映射 TIM3_CH1 PA6 PB4 PC6 CH2 PA7 PB5 PC7 CH3 PB0 PB0 PC8 CH4 PB1 PB1 PC9 /**重映射 t ...

  5. 嵌入式02 STM32 实验01 端口复用和重映射

    内设与外设: 端口复用和端口重映射都需要了解内设和外设,那么什么是内设?什么是外设? 内设:单片机内部集成的功能一般包括:串口模块.SPI模块(Serial Peripheral Interface  ...

  6. STM32 部分重映射和完全重映射(查看数据手册)

    数据手册如何查找对应的映射: 打开官网直接搜索STM32F可以看到数据手册,里面有关于重映射的表格,输入第6页的页码,点击9.3中的9.3x可打开对应的链接.  举例说明: STM32中拥有重映射功能 ...

  7. STM32管教复用与重映射关系

    摘自:http://blog.csdn.net/lincheng15/article/details/51789093 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出 2.其他外设的输入 ...

  8. (十)stm32 GPIO口复用,重映射 RCC_APB2Periph_AFIO

    什么时候需要用到RCC_APB2Periph_AFIO--复用IO时钟的使用 需要用到外设的重映射功能时才需要使能AFIO的时钟 外部中断(EXTI)中与AFIO有关的寄存器是AFIO-EXTICR1 ...

  9. STM32 GPIO重映射(转)

    重映射就是将引脚功能重新定义到其他引脚, 例如PA9是USART1-TX默认的 管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这 种映射不是随意的想映射到哪个脚就哪个 ...

随机推荐

  1. Java识别操作系统

    /** * Created by xfyou on 2016/11/3. */ public class SysDep { final static String UNIX_NULL_DEV = &q ...

  2. 01Mybatis_课程安排

    课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理   (掌握) m ...

  3. ScrollReveal.js – 帮助你实现超炫的元素运动效果

    ScrollReveal.js 用于创建和管理元素进入可视区域时的动画效果,帮助你的网站增加吸引力.只需要给元素增加 data-scrollreveal 属性,当元素进入可视区域的时候会自动被触发设置 ...

  4. Planetary.js:帮助你构建超炫的互动球体效果

    Planetary.js 是一个 JavaScript 库,用于构建互动球体效果.它使用 D3 和 TopoJSON 解析和渲染地理数据.Planetary.js 采用了基于插件的架构,即使是默认的功 ...

  5. 【position也可以很复杂】当弹出层遇上了鼠标定位(下)

    前言 接着昨天的内容写,为了保证内容连续性,这里还是把昨天的内容拷了过来. 请用现代浏览器测试 引出问题 有图有真相,我们来看一个智联招聘里面经常出现的图层: 他这个是没有什么问题的,我们来简单看看其 ...

  6. Hybrid框架UI重构之路:四、分而治之

    上文回顾:Hybird框架UI重构之路:三.工欲善其事,必先利其器 上一篇文章有说到less.grunt这两个工具,是为了css.js分模块使用的.UI框架提供给使用者的时候,是一个大的xxx.js. ...

  7. js调用soapWebService服务

    js调用soapWebService服务 什么是 SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被 ...

  8. SharePoint 2010 匿名访问开启后不能访问Allitems.aspx或DisplayForm.aspx

    Body: Full Credit goes to Pet Stilgoe: http://www.petestilgoe.com/2010/02/allowed-anonymous-access-o ...

  9. AndroidInject项目使用动态代理增加对网络请求的支持

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3540427.html AndroidInject项目是我写的一 ...

  10. 一个UILabel不同部分显示不同颜色

    我们直接来看效果图吧: 需求:就是表格cell里面的状态Label,前面的"状态:"是黑色,后面的状态值是红色,他们在同一个Label上,怎么做呢? 解答:真的是会者不难,难者不会 ...