OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1102|回复: 1

时钟使能的意义是允许访问寄存器吗

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2023-6-19
在线时间
4 小时
发表于 2023-12-2 17:14:58 | 显示全部楼层 |阅读模式
3金钱
从网上了解到时钟使能的意义是可以访问寄存器,因为STM32外设很多,为了达到低功耗目的,所有外设时钟默认关闭,用到哪个就使能哪个,而操作外设都是通过改写寄存器实现的,只有送来了时钟,寄存器才能被读写,这是我目前的理解。但是在独立看门狗试验中,并不需要使能时钟,我也了解到,独立看门狗由专用的低速时钟LSI驱动,当使能独立看门狗的时候,LSI时钟被强制开启,所以也能理解不需要使能时钟,但是不能理解的是,使能看门狗是在IWDG_Init初始化的最后一步,也就是说最后一步才开启LSI时钟,那么按照前面的理解,前面几步往IWDG_KR、IWDG_PR、IWDG_RLR写值,没有送来时钟,是怎么实现寄存器改写的呢?
感谢有缘人能够指点一二。

void IWDG_Init(u8 prer,u16 rlr)
{
        IWDG->KR=0X5555;//使能对IWDG->PR和IWDG->RLR的写                                                                                                   
          IWDG->PR=prer;  //设置分频系数   
          IWDG->RLR=rlr;  //从加载寄存器 IWDG->RLR  
        IWDG->KR=0XAAAA;//reload                                                                                          
          IWDG->KR=0XCCCC;//使能看门狗       
}

最佳答案

查看完整内容[请看2#楼]

KR寄存器写入0xCCCC, 并不是使能看门狗, 而是启动看门狗工作。 类比一下定时器, 开启定时器时钟之后再配置定时器, 最后一步需要使能定时器(置CR寄存器的CEN=1), 这个定时器才能启动运转。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4417
金钱
4417
注册时间
2018-5-11
在线时间
922 小时
发表于 2023-12-2 17:14:59 | 显示全部楼层
KR寄存器写入0xCCCC,
并不是使能看门狗,
而是启动看门狗工作。
类比一下定时器,
开启定时器时钟之后再配置定时器,
最后一步需要使能定时器(置CR寄存器的CEN=1),
这个定时器才能启动运转。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表