配置GPIO流程
1.开启GPIO的端口时钟
在gd32F4xx_rcu.h文件中查找和时钟有关的函数
函数原型
/*enable the perioherals clock*/配置时钟使能
Void rcu_periph_clock_enable(rcu_periph_enum periph);
代码调用
/*enable GPIOD clock**/
Rcu_periph_clock_enable(RCU_GPIOD);
2.配置GPIO的模式
也是两步
第一步就是将GPIO配置为输出功能
第二步就是将GPIO配置为浮空模式(就是既没有上拉也没有下拉)
在gd32f4xx_GPIO.h文件中查找和GPIO有关的函数
函数原型
/*set GPIO mode**/
Void gpio_mode_set(uint32_t_periph,uint32_t_mode,uint32_tpull_up_down,uint32_t_pin);
代码调用
Gpio_mode_set(GPIOD,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO_PIN_7);
3.配置GPIO的输出
第一步配置推挽输出
第二步配置速度为50MHZ
在gd32f4xx_gpio.h文件中查找和GPIO有关的函数
函数原型
/*set GPIO output type and speed*/
Void gpio_output_options_set(uint32_tgpio_periph,uint8_t otype,uint32_t speed,uint32_t pin);
代码调用
Gpio_mode_set(GPIOD,GPIO_OTYPE_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_7);
点灯
我们让LED2点亮就是让PD7输出高电平,这里给大家总结几种操做方式
在gd32f4xx_gpio.h文件中查找和GPIO有关的函数
函数原型:
第一种/*set GPIO pin bit 写GPIO引脚的位 */
Void gpio_bit_set(uint32_t gpio_periph,uint32_t pin);
代码调用 set高电平
Gpio_bit_set(GPIOD,GPIO_PIN_7);
第二种函数原型
/*write data to the specified GPIO pin*/
Void gpio_bit-write(uint32_t gpio_periph,uint32_t pin,bit_status bit_value);
代码调用
输出高电平:gpio_bit_write(GPIOD,GPIO_PIN_7,1);
输出低电平:gpio_bit_write(GPIOD,GPIO_PIN_7,0);
函数原型:
/*write data to the specified GPIO port*/
Void gpio_port_write(uint32_t gpio_periph,uint16_t data);
LED灯实验效果