STM32之复用功能

  复用功能分复用输入,复用输出,STM32芯片内部集成多种模块,如GPIO、串口、i2c等,为使IO端口支持这些模块,厂家对IO端口进行扩展,同一个端口通过设置寄存器会有不同的功能。如下图IO结构图:

STM32的复用功能由两个高、低的均为32位的寄存器组成:

  (1) GPIO 复用功能低位寄存器 (GPIOx_AFRL)

  (2) GPIO 复用功能高位寄存器 (GPIOx_AFRH)

复用功能寄存器4位为1小组,分别是AFL0~AFL7、AFH8~AFH15。

AFL0~AFL7 是和GPIOx0~GPIOx7一一对应,AFH8~AFH15和GPIOx8~GPIOx15一一对应。

STM32底层没有AFRH和AFRL寄存器,底层是封装成一个数组AFR[2],ARF[0]代表AFRL寄存器,AFR[1]代码AFRH寄存器。

示例:把GPIOA9 、GPIOA10设为复用功能,则有下面:

GPIOA9、GPIOA10分别对应:  GPIOA->AFR[1] |= 7<<4    ;   GPIOA->AFR[1] |= 7<<8 ;

     注释:7表示AF7,为复用数据,4和8表示复用GPIO的位置.  GPIOA9 、GPIOA10属于AFH8~AFH15的范畴。

IO口的复用功能可以查询 “STM32f405、407xxx数据手册”复用表:

  

原文地址:https://www.cnblogs.com/anSn/p/11614978.html

时间: 2024-11-05 23:38:11

STM32之复用功能的相关文章

STM32管教复用与重映射关系

摘自:http://blog.csdn.net/lincheng15/article/details/51789093 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出 2.其他外设的输入输出(比如I2C,TIM,SPI等等),这就是复用. 重映射就是将引脚功能重新定义到其他引脚,例如PA9是USART1-TX默认的管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这种映射不是随意的想映射到哪个脚就哪个脚,芯片内部已经固定了只能映射到固定的地方 MCU复

GPIO 复用功能

需要注意如下几点 配置方式 重映射功能 复用重映射寄存器 重定向用到的函数 GPIO 复用功能

STM32F030如何正确配置IO口的复用功能

本文所使用的单片机型号为STM32F030C8T6. 在030系列的单片机中,PA2引脚除了作为普通的IO引脚用作输入输出功能以外,还可以作为内部外设串口1,串口2,定时器15通道1这三个外设的功能引脚.那么如何配置这个IO口用作哪一种外设的功能引脚呢?查找STM32F030数据手册的31-32页,看到有这么两个表格, <Table 12. Alternate functions selected through GPIOA_AFR registers for port A> <Tabl

stm32定时器计数功能

stm32的外部时钟源模式2和外部时钟源模式1都可以用来实现计数功能,他们的区别是什么呢? 以上2种模式对应不同的管脚输入: 外部时钟源模式2 <-->TIMx_ETR 外部时钟源模式1 <-->TIMx_CHx 从功能框图可以看到,ETR模式下多了一个分频器ETPS,搜索该分频器的寄存器,有如下解释:外部触发信号ETRP的频率必须最多是TIMxCLK频率的1/4.当输入较快的外部时钟时,可以使用预分频降低ETRP的频率. 每个定时器只能对一路信号计数,但每个定时器可同时捕捉4路信

STM32 端口复用配置

操作流程 GPIO时钟使能 RCC_APB2PeriphClockCmd([email protected]_GPIOA,ENABLE); 复用外设时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); io口初始化 //按外设的GPIO配置,配置GPIO(查表) GPIO_Init(GPIOA,&GPIO_InitStructure) 原文地址:https://www.cnblogs.com/uestcman/p/9063607.h

[stm32] USART USART1收发功能工程

>_<!功能:PC端发送一个特定的字符:0x0d 0x0a,单片机则返回一句话,如图: >_<!知识: 1.复用功能I/O和调试配置(AFIO)  为了优化外设数目,可以把一些复用功能重新映射到其他引脚上.设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)(参见0节)实现引脚的重新映射.这时,复用功能不再映射到它们的原始分配上. 2.嵌套向量中断控制器(NVIC) l 43 个可屏蔽中断通道(不包含16 个Cortex-M3 的中断线):  l 16 个可编程的优先等级: 

STM32 JTAG引脚复用设置

前奏 先来copy下 JTAG.SW接口的定义, JTAG:JTAG(Joint Test Action Group:联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如DSP.FPGA器件等.标准的JTAG接口是4线:TMS.TCK.TDI.TDO,分别为模式选择.时钟.数据输入和数据输出线. SWD:SW(Serial Wire Mode Interface),串行接口线模式.在串行线模式,只有针TCLK和TMS使用.TDO数据输出引脚是一个

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

内设与外设: 端口复用和端口重映射都需要了解内设和外设,那么什么是内设?什么是外设? 内设:单片机内部集成的功能一般包括:串口模块.SPI模块(Serial Peripheral Interface  串行外设接口).I2C模块(Philips公司开发的一种简单.双向二线制同步串行总线).A/D模块(模数转换器).PWM模块(Pulse Width Modulation  脉冲宽度调制).CAN模块(Controller Area Network  控制器局域网络).EEPROM(Electri

STM32端口模式配置——上拉、下拉、模拟、浮空输入;推挽、开漏、复用输出

1.上拉输入:上拉就是把电位拉高,比如拉到Vcc.上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!强弱只是上拉电阻的阻值不同,没有什么严格区分. 2.下拉输入:就是把电压拉低,拉到GND.与上拉原理相似. 3.浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平.由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平.一般实际运用时,引脚不建议悬空,易受干扰. 通俗讲就是让管脚什么都不接,浮空着. 4.模拟输入:模拟输入是指传统方式的