GD32f103 的usart2是使用GPIO A 还是GPIOB 的时钟
时间: 2024-02-18 10:03:32 浏览: 90
GD32f103 的 USART2 可以使用 GPIOA 或 GPIOB 的时钟,具体使用哪个时钟可以根据实际情况来选择。但是需要注意的是,在使用某个 GPIO 端口之前,需要先使能该端口的时钟,否则无法正常工作。
以下是使用 GPIOA 时钟的示例代码:
```c
/* 使能 GPIOA 和 USART2 时钟 */
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_USART2);
/* 配置 PA2 和 PA3 为复用推挽输出模式 */
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2 | GPIO_PIN_3);
```
以下是使用 GPIOB 时钟的示例代码:
```c
/* 使能 GPIOB 和 USART2 时钟 */
rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_USART2);
/* 配置 PB10 和 PB11 为复用推挽输出模式 */
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10 | GPIO_PIN_11);
```
在上面的示例代码中,我们通过 `rcu_periph_clock_enable()` 函数使能了 GPIOA 或 GPIOB 和 USART2 的时钟,并使用 `gpio_init()` 函数将 PA2/PA3 或 PB10/PB11 配置为复用推挽输出模式。
阅读全文