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灯闪烁

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/xiaohuzaixue/p/17335237.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!