(1) 设置 GPIO 模式 gpio_mode_setgpio_mode_set函数原型为: void gpio_mode_set(uint32_t gpio_periph, uint32_t mode, uint32_t pull_up_down, uint32_t pin) { xxx xxx } 其中形参gpio_periph为需要设置的GPIO口组,其对应的实参为GPIOx(x = A,B,C,D,E,F,G),形参mode为需要设置的GPIO模式...
(1) 设置 GPIO 模式 gpio_mode_setgpio_mode_set函数原型为: void gpio_mode_set(uint32_t gpio_periph, uint32_t mode, uint32_t pull_up_down, uint32_t pin) { xxx xxx } 其中形参gpio_periph为需要设置的GPIO口组,其对应的实参为GPIOx(x = A,B,C,D,E,F,G),形参mode为需要设置的GPIO模式...
2.1.GPIO 基础知识 GD32系列MCU的GPIO口是以“组”的形式工作,命名方式为PX(X=A,B,C,D,E··...
每个GPIO端口都有两个32位配置寄存器(GPIO_CTL0 ,GPIO_CTL1) ,两个16位数据寄存器 (GPIO_ISTAT和GPIO_OCTL),一个32位置位寄存器(GPIO_BOP),一个16位复位寄存器(GPIO_BC),一个16位锁定寄存器(GPIO_LOCK)。每个I/O端口位可以自由编程。 点亮LED,基本步骤是:配置寄存器;控制寄存器。库开发只是将传统的配置方...
2.3 GPIO GPIO读写引脚函数解析 首先来看GD32F303的库函数,下图来源于官方手册。 GPIO部分库函数 一般来说,读写引脚是我们最常使用的操作,gpio_bit_set、gpio_bit_reset、gpio_bit_write这三个函数用来给引脚设置高低电平。 通过观察可以发现,这三个函数没有什么太大的区别,GPIO_BOP和GPIO_BC分别是通过寄存器来...
外设时钟配置如代码清单FWDG例程时钟配置所示,在GD32全系列MCU中需打开GPIOA(LED)的时钟,另外,在GD32F10X_HD || GD32F30X_HD || GD32F20X_CL || GD32E10X || GD32F1X0 || GD32F3X0 || GD32E230中需要打开IRC40K,GD32F4XX中需要打开IRC32K。
根据前面实现的GPIO流水灯,本文将其归纳如下: 要想控制LED亮灭,就需要做以上三件事:使能时钟,配置GPIO参数,最后循环控制GPIO的高低电平就能实现流水灯的效果,GPIO的寄存器这里就不说了,更多详细的寄存器描述看官方手册就行,下面先来看看GD32的时钟。 3.2 GD32的时钟系统 ...
根据前面实现的GPIO流水灯,本文将其归纳如下: 要想控制LED亮灭,就需要做以上三件事:使能时钟,配置GPIO参数,最后循环控制GPIO的高低电平就能实现流水灯的效果,GPIO的寄存器这里就不说了,更多详细的寄存器描述看官方手册就行,下面先来看看GD32的时钟。 2 GD32的时钟系统 ...
GPIO_BOP(STEP_LED_PORT) = (uint32_t)STEP_LED_PIN; // IO口置位操作 然后继续调整高低电平...
#define SPI_CS_HIGH {GPIO_BOP(GPIOB) = (uint32_t)GPIO_PIN_12;} #define SPI_CS_LOW {GPIO_BC(GPIOB) = (uint32_t)GPIO_PIN_12;} 1. 2. /* *@brief spi引脚配置 *@retval none *@author Mr.W *@date 2020-8-4 */ static void bsp_spi1_gpio_cfg(void) ...