GPIO_PinAFConfig(GPIO0, GPIO_PinSource_9, AF4_UART); //P0.9复用为UART_RX
GPIO_PinAFConfig(GPIO0, GPIO_PinSource_7, AF4_UART); //P0.7复用为UART_TX
IO口复用了串口,如何关闭复用? 这样GPIO_PinAFConfig(GPIO0, GPIO_PinSource_7, AF0_GPIO);再复用成模拟口就行?
要关闭IO口的复用功能,你可以将GPIO_PinAFConfig函数的第三个参数设置为AF0_GPIO。这样,你就可以将GPIO0的第9个引脚(P0.9)和第7个引脚(P0.7)复用为普通GPIO。然后,你可以将这些引脚配置为模拟输入或输出,以实现你的需求。
以下是关闭复用的代码:
```c
GPIO_PinAFConfig(GPIO0, GPIO_PinSource_9, AF0_GPIO); //关闭P0.9的UART_RX复用
GPIO_PinAFConfig(GPIO0, GPIO_PinSource_7, AF0_GPIO); //关闭P0.7的UART_TX复用
```
接下来,你可以将这些引脚配置为模拟输入或输出,例如:
```c
GPIO_InitTypeDef GPIO_InitStructure;
// 配置P0.9为模拟输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIO0, &GPIO_InitStructure);
// 配置P0.7为模拟输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIO0, &GPIO_InitStructure);
我要赚赏金打赏帖 |
|
|---|---|
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
| 传感器LSM6DSO及LIS3MDL的功能检测被打赏¥18元 | |
| LPS25HB气压传感器及其检测被打赏¥18元 | |
| HTS221温湿度传感器及其检测被打赏¥18元 | |
| 【S32K3XX】HSE FW 版本更新被打赏¥21元 | |
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |