OpenEdv-开源电子网

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

原子,这几条语句我怎么也理解不了

[复制链接]

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
发表于 2012-3-22 17:28:52 | 显示全部楼层 |阅读模式

在 Stm32_Clock_Init函数中,有如下两条等待外部时钟的语句
  
while(!(RCC->CR>>17));//等待外部时钟就绪
 while(!(RCC->CR>>25));//等待PLL锁定

 RCC->CR>>17和RCC->CR>>25中,CR寄存器高位可能不一定是零呀,这样读出来的数据如果高位非零,而第十七位或是第二十五位并没有准备好,也就是说还是读出0,
但是RCC->CR或RCC->CR向右移位后的值仍然非零,那这条语句不是也认为时钟准备就绪了么?

C语言基础不怎么好,还望原子指点!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
发表于 2012-3-22 17:41:00 | 显示全部楼层
这个寄存器的复位值是0x00XX83
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-3-22 17:48:14 | 显示全部楼层
CR寄存器复位后的高16位都是0
https://github.com/roxma
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
 楼主| 发表于 2012-3-22 17:49:13 | 显示全部楼层
回复【2楼】以枫之名:

---------------------------------
如果只是这样,那这两条程序也忒不健壮了,呵呵
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
 楼主| 发表于 2012-3-22 17:50:07 | 显示全部楼层
回复【3楼】Pony279:

---------------------------------
我觉得为了保证可靠,最好还是单独判断标志位
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-22 18:04:42 | 显示全部楼层
回复【楼主位】10086rainer:
---------------------------------
这两句话确实存在这个问题,需要改进.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-3-23 16:39:54 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
哪儿有问题啊。初始化时不是零吗???
努力,前进。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-23 17:06:15 | 显示全部楼层
回复【7楼】5498折戟沉沙:
---------------------------------
就是在其他位不为0的情况下,会失算...
幸好,每次硬件复位,其他位都会是0,所以这样用着也没事.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 07:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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