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);
我要赚赏金打赏帖 |
|
|---|---|
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
| TCS3472S传感器及其色彩检测被打赏¥19元 | |
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |