GD32F103C8T6 PB4 NJTRST引脚当做普通I/O口
单片机平台 GD32F103C8T6
直接上代码
PB4作为LED灯使用
/***************************************************************************//**
文件: main.c
作者: Zhengyu https://gzwelink.taobao.com
版本: V1.0.0
时间: 202101201
平台:MINI-GD32F103C8T6开发板
微信号:gzwelink
*******************************************************************************/
#include "gd32f10x.h"
#include "gd32f10x_libopt.h"
#include "systick.h"
int main(void)
{
rcu_apb2_clock_config(RCU_APB2_CKAHB_DIV1);//设置主频108M(#define __SYSTEM_CLOCK_108M_PLL_HXTAL (uint32_t)(108000000)),8M外部晶振 (#define HXTAL_VALUE ((uint32_t)8000000))
systick_config();//配置1ms SysTick
rcu_periph_clock_enable(RCU_AF);//AF时钟使能
gpio_pin_remap_config(GPIO_SWJ_NONJTRST_REMAP, ENABLE);//下载口NJTRST引脚当做普通I/O口
rcu_periph_clock_enable(RCU_GPIOB);//GPIOB时钟打开
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);//PB4配置成输出
while(1)
{
delay_1ms(1000);//等待1000ms
gpio_bit_set(GPIOB, GPIO_PIN_4);//PB4输出高
delay_1ms(1000);
gpio_bit_reset(GPIOB, GPIO_PIN_4);//PB4输出低
}
}
PB4 作为LED灯使用需要设置
gpio_pin_remap_config(GPIO_SWJ_NONJTRST_REMAP, ENABLE);//下载口NJTRST引脚当做普通I/O口
rcu_periph_clock_enable(RCU_GPIOB);//GPIOB时钟打开
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);//PB4配置成输出
gpio_bit_set(GPIOB, GPIO_PIN_4);//PB4输出高
gpio_bit_reset(GPIOB, GPIO_PIN_4);//PB4输出
PB4当普通IO用,必须要重新映射一下gpio_pin_remap_config,在STM32F103C8T6中是没有的,这里要注意一下。

reference
32F103xx系列单片机/PA13|PA14|PB15|PB3|PB4作为普通GPIO口/JTAG|SWD调试仿真接口作为GPIO使用/GPIO_SWJ_SWDPENABLE_REMAP
1537

被折叠的 条评论
为什么被折叠?



