一、PA15配置为普通IO,PB3配置为TIMER1通道CH1的相关代码
1.PA15如何配置为普通IO
#define A_PIN GPIO_PIN_15
#define A_GPIO GPIOA
#define A_CLK RCU_GPIOA
void micromotor_alarm_gpio_config(void)
{
rcu_periph_clock_enable(A_GPIO_CLK);
rcu_periph_clock_enable(RCU_AF);
gpio_init(A_GPIO, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,A_PIN);
gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);
gpio_bit_reset(A_GPIO,A_PIN);
}
2.PB3如何配置为定时器TIMER1通道CH1使用
#define B_PIN GPIO_PIN_3
#define B_GPIO GPIOB
#define B_GPIO_CLK RCU_GPIOB
void beep_alarm_gpio_config(void)
{
rcu_periph_clock_enable(B_GPIO_CLK);
rcu_periph_clock_enable(RCU_AF);
gpio_init(B_GPIO, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, B_PIN);
gpio_pin_remap_config(GPIO_TIMER1_FULL_REMAP,ENABLE);
timer_config();
}
二、GD32 JTAG备用功能重映射相关介绍
1.对应引脚
2.对应的映射
3.PA15引脚在数据手册中的相关功能(GD32F103Cx)
4.PB3引脚在数据手册中的相关功能(GD32F103Cx)
三、原理:配置JTAG相关引脚,需要配置AFIO端口配置寄存器0(AFIO_PCF0)中的SWJ_CFG[2:0]位和TIMER1_REMAP[1:0]位
1.AFIO端口配置寄存器0(AFIO_PCF0)
2.SWJ_CFG[2:0]位
3.TIMER1_REMAP[1:0]位
四、重映射配置流程
1.配置对应引脚的时钟使能(RCU_GPIOx,A—F);
2.配置复用时钟引脚使能(RCU_AF);
3.根据不同功能配置对应引脚的模式(输入、输出、复用等);
4.根据不同功能配置不同功能映射(部分映射、完全映射)使能;
原作者:游走在01的海洋