enable GPIO clock到底是什么作用

yangkunhenry 2019-06-15 03:49:16
    /* enable the LED2 GPIO clock */
rcu_periph_clock_enable(RCU_GPIOB);//RCU_GPIOB
rcu_periph_clock_enable(RCU_GPIOA);//RCU_GPIOB

/* configure LED2 GPIO port */
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_1);
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_0);


在GPIO配置为所需要的模式之前,都需要去使能GPIO的clock。

这个clock到底是在哪里阶段做什么用的?哪位大神能否具体描述下?

感觉要看GPIO的内部硬件原理图了。。。
...全文
1689 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2019-06-17
  • 打赏
  • 举报
回复
这个时钟就是你写了寄存器之后执行的频率,最高的翻转速度就是这个时钟频率
yangkunhenry 2019-06-17
  • 打赏
  • 举报
回复
引用 4 楼 dceacho 的回复:
可以这么说,所有的一切都需要clock驱动, GPIO读取输入的速度,IO口输入变化到寄存器的值的变化,这中间是要时间的是需要CLOCK驱动的,寄存器值的变化到IO口反应出来也一样,你要问具体实现电路,我也不知道
版主一出来我就知道要催我结贴了。。。。哈哈哈哈
dceacho 2019-06-17
  • 打赏
  • 举报
回复
可以这么说,所有的一切都需要clock驱动, GPIO读取输入的速度,IO口输入变化到寄存器的值的变化,这中间是要时间的是需要CLOCK驱动的,寄存器值的变化到IO口反应出来也一样,你要问具体实现电路,我也不知道
7.83Hz 2019-06-16
  • 打赏
  • 举报
回复
时钟使能,在写代码时,习惯放在外设初始化代码前面。 你这个GPIO的时钟,只要在数据寄存器写数据前使能就成。 不开时钟,GPIO可初始化,但不会工作的。 像你找了个小时工清洁阿姨,可以提早给安排工作,但她不会开始工作,等你说:现在计时,开始吧!她就开始工作! 工作内容,按下时钟计时!
yangkunhenry 2019-06-16
  • 打赏
  • 举报
回复
引用 1 楼 zhouml_msn 的回复:
时钟使能,在写代码时,习惯放在外设初始化代码前面。 你这个GPIO的时钟,只要在数据寄存器写数据前使能就成。 不开时钟,GPIO可初始化,但不会工作的。 像你找了个小时工清洁阿姨,可以提早给安排工作,但她不会开始工作,等你说:现在计时,开始吧!她就开始工作! 工作内容,按下时钟计时!
嗯,谢谢回复,我是想知道这个时钟是具体是怎么用到的,可能涉及到硬件的一些方面

27,521

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧