void gpio_init(uint32_t gpio_periph, uint32_t mode, uint32_t speed, uint32_t pin);
使用方法:
rcu_periph_clock_enable(RCU_GPIOA);
gpio_init(GPIOA,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_0);
函数意义: 初始化一个GPIO,并且配置为输入或者输出模式
注意事项: 首先要保证要使用的GPIO的时钟开启
参数解析:
gpio_periph: 外设地址,例如GPIOA,GPIOB…
mode: IO模式,在GD32标准固件库中,共有四种输入模式,四种输出模式,详细列表如下:
speed: IO输出速度最大值,详细列表如下:
pin: 引脚,例如GPIO_PIN_0,GPIO_PIN_1,GPIO_PIN_2…
void gpio_bit_set(uint32_t gpio_periph, uint32_t pin);
函数意义: 将一个GPIO拉高
gpio_bit_set(GPIOA,GPIO_PIN_0);//将PA0拉高
void gpio_bit_reset(uint32_t gpio_periph, uint32_t pin);
函数意义: 将一个GPIO拉低
gpio_bit_reset(GPIOA,GPIO_PIN_0);//将PA0拉低
可以选择
内部8MHz时钟源(IRC8M)、外部4~32MHz高速时钟源(HXTAL)、内部48MHz高速时钟源(IRC48M),并且可以经过PLL进行倍频。
CK_SYS(即系统时钟)配置方法有三种,当SCS寄存器配置为00时,CK_SYS为8MHz(内部8MHz直连);当SCS寄存器配置为01时,CK_SYS为外部高速时钟源的频率,即与外部高速时钟直连;当SCS寄存器配置为10时,CK_SYS为时钟源经过PLL倍频获得的频率值。
void rcu_system_clock_source_config(uint32_t ck_sys);
void rcu_ahb_clock_config(uint32_t ck_ahb);
void rcu_apb1_clock_config(uint32_t ck_apb1);
void rcu_apb2_clock_config(uint32_t ck_apb2);
void rcu_pll_config(uint32_t pll_src, uint32_t pll_mul);
原文:https://www.cnblogs.com/wfy680/p/14606244.html