APM32端口重映射

默认端口复用

我们都知道APM32单片机的GPIO不仅可以用来输出和检测高低电平,而且其他外设(如USART、TMR、ADC等)在运行过程中也会使用到这些GPIO,每个GPIO都会有一些默认的复用功能,如下图

端口复用

如果我不想用默认复用的功能,想用重定义的功能,该怎么编程?

完全重映射

完全重映射,有的地方也叫完全重映像,都差不多。当重定义功能只有一种时,就是完全重映射,如下图

端口完全重映射

红框中每个引脚的重定义功能只有一个,所以时完全重映射,我们来看下如何编程

使用复用功能时候,要开启复用时钟

    RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_AFIO);

再使用void GPIO_ConfigPinRemap(*GPIO_REMAP_T* *remap*);函数选择需要重映射的功能。来看下该函数的注释

/*!
 * @brief     Changes the mapping of the specified pin
 *
 * @param     remap : selects the pin to remap
 *                    This parameter can be one of the following values:
 *                    @arg GPIO_NO_REMAP_SPI1         : No SPI1 Alternate Function mapping
 *                    @arg GPIO_REMAP_SPI1            : SPI1 Alternate Function mapping
 *                    @arg GPIO_NO_REMAP_I2C1         : No I2C1 Alternate Function mapping
 *                    @arg GPIO_REMAP_I2C1            : I2C1 Alternate Function mapping
 *                    @arg GPIO_NO_REMAP_USART1       : No USART1 Alternate Function mapping
 *                    @arg GPIO_REMAP_USART1          : USART1 Alternate Function mapping
 *                    @arg GPIO_NO_REMAP_USART2       : No USART2 Alternate Function mapping
 *                    @arg GPIO_REMAP_USART2          : USART2 Alternate Function mapping
 *                    @arg GPIO_NO_REMAP_USART3       : No USART3 Partial Alternate Function mapping
 *                    @arg GPIO_PARTIAL_REMAP_USART3  : USART3 Partial Alternate Function mapping
 *                    @arg GPIO_FULL_REMAP_USART3     : USART3 Full Alternate Funct
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值