GD32系列MCU的GPIO口是以“组”的形式工作,命名方式为PX(X=A,B,C,D,E···),每组配置有16个pin脚。每个pin脚都可由软件配置为输出(推挽或开漏)、输入、外设备用功能或者模拟模式。每个 GPIO 引脚都可以配置为上拉、下拉或浮空。除模拟模式外,所有的 GPIO 引脚都具备大电流驱动能力。GPIO的主要特性 ◼...
GPIO_PUPD_NONE(无上下拉) GPIO_PUPD_PULLUP(上拉) GPIO_PUPD_PULLDOWN(下拉) 形参pin为pin脚号,实参为GPIO_PIN_x(x=0..15)。 (2) 设置 AF 类型 gpio_af_set 当需要将GPIO设置为复用模式时,除了调用gpio_mode_se设置GPIO模式外,还需要调用函数gpio_af_set进行复用类型的设置。gpio_af_set函数原型为:...
2.1.GPIO 基础知识 GD32系列MCU的GPIO口是以“组”的形式工作,命名方式为PX(X=A,B,C,D,E··...
GPIO_PUPD_PULLUP(上拉) GPIO_PUPD_PULLDOWN(下拉) 形参pin为pin脚号,实参为GPIO_PIN_x(x=0..15)。 (2) 设置 AF 类型 gpio_af_set 当需要将GPIO设置为复用模式时,除了调用gpio_mode_se设置GPIO模式外,还需要调用函数gpio_af_set进行复用类型的设置。gpio_af_set函数原型为: void gpio_mode_set(uint3...
每个GPIO端口都有两个32位配置寄存器(GPIO_CTL0 ,GPIO_CTL1) ,两个16位数据寄存器 (GPIO_ISTAT和GPIO_OCTL),一个32位置位寄存器(GPIO_BOP),一个16位复位寄存器(GPIO_BC),一个16位锁定寄存器(GPIO_LOCK)。每个I/O端口位可以自由编程。 点亮LED,基本步骤是:配置寄存器;控制寄存器。库开发只是将传统的配置方...
GPIO_PUPD_NONE(无上下拉) GPIO_PUPD_PULLUP(上拉) GPIO_PUPD_PULLDOWN(下拉) 形参pin为pin脚号,实参为GPIO_PIN_x(x=0..15)。 (2) 设置 AF 类型 gpio_af_set 当需要将GPIO设置为复用模式时,除了调用gpio_mode_se设置GPIO模式外,还需要调用函数gpio_af_set进行复用类型的设置。gpio_af_set函数原型为:...
每个GPIO端口都有两个32位配置寄存器(GPIO_CTL0 ,GPIO_CTL1) ,两个16位数据寄存器 (GPIO_ISTAT和GPIO_OCTL),一个32位置位寄存器(GPIO_BOP),一个16位复位寄存器(GPIO_BC),一个16位锁定寄存器(GPIO_LOCK)。每个I/O端口位可以自由编程。 点亮LED,基本步骤是:配置寄存器;控制寄存器。库开发只是将传统的配置方...
GPIO读写引脚函数解析 首先来看GD32F303的库函数,下图来源于官方手册。 GPIO部分库函数 一般来说,读写引脚是我们最常使用的操作,gpio_bit_set、gpio_bit_reset、gpio_bit_write这三个函数用来给引脚设置高低电平。 通过观察可以发现,这三个函数没有什么太大的区别,GPIO_BOP和GPIO_BC分别是通过寄存器来给引脚置位...
根据前面实现的GPIO流水灯,本文将其归纳如下: 要想控制LED亮灭,就需要做以上三件事:使能时钟,配置GPIO参数,最后循环控制GPIO的高低电平就能实现流水灯的效果,GPIO的寄存器这里就不说了,更多详细的寄存器描述看官方手册就行,下面先来看看GD32的时钟。 2 GD32的时钟系统 ...
else GPIO_BC(GPIOB) = GPIO_PIN_3|GPIO_PIN_4;} void LED_Troggle(void){ GPIO_TG(GPIOB...