1.硬件
GD32F103C8T6最小系统板
ST-LINK V2下载器

  • 2.GPIO说明
    每个通用I/O端口都可以通过两个32位的控制寄存器(GPIOx_CTL0/ GPIOx_CTL1)和两个32位
    的数据寄存器(GPIOx_ISTAT, GPIOx_OCTL)配置为8种模式:模拟输入,浮空输入,上拉输入,
    下拉输入,GPIO推挽输出,GPIO开漏输出,AFIO推挽输出和AFIO开漏输出。

IO端口基本结构:

  • 3.GPIO外设
    3.1如果使用调试端口PB4则需要重映射为GPIO。
//管脚复用时钟使能rcu_periph_clock_enable(RCU_AF);//PB4管脚默认是NJTRST,要当GPIO需要使用重映射函数映射gpio_pin_remap_config(GPIO_SWJ_NONJTRST_REMAP, ENABLE);

3.2库函数的使用

步骤:
使能GPIO时钟;
配置引脚输入/输出模式;
设置引脚输出电平;

//GPIOB时钟使能rcu_periph_clock_enable(RCU_GPIOA);//PB4配置输出模式gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);//引脚输出低电平gpio_bit_reset(GPIOA, GPIO_PIN_4);//引脚输出高电平gpio_bit_set(GPIOA, GPIO_PIN_4);//引脚输出低电平gpio_bit_write(GPIOA, GPIO_PIN_4, RESET);//引脚输出高电平gpio_bit_write(GPIOA, GPIO_PIN_4, SET);
int main(void){     rcu_apb2_clock_config(RCU_APB2_CKAHB_DIV1);//设置主频108M     systick_config();//配置1ms SysTick     rcu_periph_clock_enable(RCU_GPIOA);//GPIOA时钟打开     gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);//PA4配置成推挽输出,速度50MHZ     while(1)    {        delay_1ms(1000);//等待1000ms        gpio_bit_set(GPIOA, GPIO_PIN_4);//PA4输出高        delay_1ms(1000);        gpio_bit_reset(GPIOA, GPIO_PIN_4);//PA4输出低    }}

编译成功后连接ST-LINK V2下载器一键LOAD,按复位键运行即可。

5.实现效果
LED灯闪烁