OpenEdv-开源电子网

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

nus的值

[复制链接]

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
发表于 2013-6-13 17:29:54 | 显示全部楼层 |阅读模式
                                      


8MHZ外部晶振的情况下,nus的最大值到底是多少?(在保证延时精度下)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2013-6-13 20:43:53 | 显示全部楼层
你找到fac_us对应的值,然后取计算,因为你计算的us越大,肯定到最后还不如用ms来进行计数,也就是不能超过最大计数值。会超过计数器限度。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-13 21:19:20 | 显示全部楼层
回复【楼主位】lony:
---------------------------------
2的24次方,会算么?
不会算,可以用XP自带的计算器计算下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-13 21:19:26 | 显示全部楼层
回复【楼主位】lony:
---------------------------------
2的24次方,会算么?
不会算,可以用XP自带的计算器计算下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
 楼主| 发表于 2013-6-14 14:55:38 | 显示全部楼层
2的24次方等于16777216;那fac_us等于多少?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-14 16:13:52 | 显示全部楼层
16777216/9us,
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
 楼主| 发表于 2013-6-14 17:07:49 | 显示全部楼层
16777216/9=1864135us;
 fac_us=SYSCLK/8; SYSCLK=9MHZ;这不是乱套了吗?
回复 支持 反对

使用道具 举报

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
 楼主| 发表于 2013-6-14 17:17:51 | 显示全部楼层
原子哥,你在书中写的fac_us=SYSCLK/8;  这一句程序实在是看不明白,到底是如何解释?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-15 00:21:00 | 显示全部楼层
回复【8楼】lony:
---------------------------------
归根到底,你就没明白systick的时钟.
你告诉我systick的计数时钟是多少Mhz?从哪里来的?能回答这两个问题,你就前面的问题自己就知道怎么回事了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
 楼主| 发表于 2013-6-15 09:43:46 | 显示全部楼层
原子哥,我是这样理解的:在外部时钟为8MHZ时,经过倍频后为72MHZ,也就是HCLK的频率,再通过对HCLK 8分频,得到9MHZ的频率,这个就是systick的计数时钟,也是系统时钟SYSCLK的频率; 所以, systick的时钟=系统时钟SYSCLK=9MHZ.
 fac_us是作为一个中间寄存器在使用的, 在9MHZ的时钟频率下,每计9个时钟脉冲为1us  ,所以fac_us=9;24位的RELOAD寄存器最大值为16777216,这样一来,RELOAD=fac_us* nus;所以; nus 最大值为16777216/9=1864135。  
可是,我不明白的是为什么不是直接给fac_us赋值(fac_us=9)? 为什么是fac_us=SYSCLK/8? fac_us=1.125MHZ, 这个数字如何解释呢?
回复 支持 反对

使用道具 举报

53

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-6-1
在线时间
37 小时
 楼主| 发表于 2013-6-15 09:57:24 | 显示全部楼层
原子哥,我之前接触过51和PIC单片机,也接触过C语言;这次接触STM32,在学习的难度上真的感觉是前所未有,我也不知道为什么这么难懂,之前买了M3权威指南,看了头晕,
就前两天又在当当网上买了本例说STM32,因为感觉看书没有看电子档那么疲劳;我很想学会STM32,呵呵,只是还真不容易。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-15 10:01:31 | 显示全部楼层
回复【10楼】lony:
---------------------------------
SYSCLK是delay_init的参数,请你看看delay_init函数对参数SYSCLK的描述.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 19:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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