GD32F103Cx中JTAG引脚如何配置为普通IO或复用其他功能

4 篇文章 0 订阅
2 篇文章 0 订阅

一、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)
{
	//1.GPIO引脚时钟使能
	rcu_periph_clock_enable(A_GPIO_CLK);		
	//2.复用功能时钟使能																															
	rcu_periph_clock_enable(RCU_AF);																		 	
	//3.GPIO配置为推完输出模式
    gpio_init(A_GPIO, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,A_PIN);				
	//4.重映射配置:JTAG-DP禁用和SW-DP使能	
	gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);						
	//5.引脚配置为低电平
	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)
{
	//1.GPIO引脚时钟使能	
	rcu_periph_clock_enable(B_GPIO_CLK);		
	//2.复用功能时钟使能																
	rcu_periph_clock_enable(RCU_AF);																			

	//3.GPIO配置为复用推完输出模式
    gpio_init(B_GPIO, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, B_PIN);					
	
	//4.重映射配置:TIMER1完全重映射
	gpio_pin_remap_config(GPIO_TIMER1_FULL_REMAP,ENABLE);								
	
	//5.定时器配置
	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]位

4.看寄存器介绍基本就懂了如何配置引脚重映射的寄存器,接下来是流程配置

四、重映射配置流程
1.配置对应引脚的时钟使能(RCU_GPIOx,A---F);
2.配置复用时钟引脚使能(RCU_AF);
3.根据不同功能配置对应引脚的模式(输入、输出、复用等);
4.根据不同功能配置不同功能映射(部分映射、完全映射)使能;

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值