首页 > 其他 > 详细

GPIO 时钟

时间:2021-04-01 18:53:42      阅读:154      评论:0      收藏:0      [点我收藏+]

用到的函数

1. gpio_init函数原型:

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…

2. gpio_bit_set函数原型:

void gpio_bit_set(uint32_t gpio_periph, uint32_t pin);
函数意义: 将一个GPIO拉高

gpio_bit_set(GPIOA,GPIO_PIN_0);//将PA0拉高

 

3. gpio_bit_reset函数原型:

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);
技术分享图片

 

 AHB、APB1、APB2、PLL配置

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);

 

GPIO 时钟

原文:https://www.cnblogs.com/wfy680/p/14606244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!