OpenEdv-开源电子网

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

systick寄存器问题

[复制链接]

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2011-8-11
在线时间
0 小时
发表于 2011-8-12 11:38:01 | 显示全部楼层 |阅读模式
 SysTick->CTRL&=0xfffffffb;为什么这里赋值是赋24位 的,下面这个SysTick->CTRL=0x01只有8位呢?还有这个是SysTick->CTRL&=0xFFFE;十六位的?是不是只要是八的倍数而且不超过24位就可以?还有,如果外部时钟是8M,那么系统时钟是不是会被自动倍频为72M?刚接触stm32,比较菜,希望大侠能解答一下。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-8-12 14:15:19 | 显示全部楼层
回复【楼主位】autoscut:
---------------------------------
=0x01是简写,等效于0X00000001.
CTRL是多少位的看书。应该是32位的,只是高16位没用到,所以就这么写了。
不会自动倍频到72M,需要你软件配置才可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2011-8-11
在线时间
0 小时
 楼主| 发表于 2011-8-12 14:36:16 | 显示全部楼层
恩,多谢原子兄解答。
回复 支持 反对

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2011-8-11
在线时间
0 小时
 楼主| 发表于 2011-8-12 23:13:05 | 显示全部楼层
stm32时钟主要结构如下:
首先是时钟输入(晶振,内部rc或外部输入),通常是8MHz
然后经过倍/分频产生系统时钟
系统时钟再经过分频产生送往各个总线的时钟(pclk等)
挂在总线上的外部设备又有各自的分频器,在产生模块的时钟信号.
定时器等外部设备又可以进一步分频,产生更慢的时钟
即输入时钟->系统时钟->总线时钟->外设时钟->定时器输出时钟

在网上搜到这一段话。手册里的程序应该是外部8M的时钟经PLL倍频为72M的系统时钟再分频成9M的SysTick时钟。那么SysTick时钟对应上去应该就是定时器输出时钟了吧?HCLK时钟就是总线时钟?SysTick时钟,SYSCLK时钟,还有HCLK时钟之间的联系是怎样的?哪位大侠能帮忙解答一下? 
还有
/初始化延迟函数
//SYSTICK的时钟固定为HCLK时钟的1/8
//SYSCLK:系统时钟
void delay_init(u8 SYSCLK)
{
SysTick->CTRL&=0xfffffffb;//bit2清空,选择外部时钟  HCLK/8
fac_us=SYSCLK/8; //这里为什么要除以8?    
fac_ms=(u16)fac_us*1000;
}

SysTick->LOAD=nus*fac_us; //时间加载  
假使系统时钟是72M,则fac_us=9,计数器每减一用时1/72000000秒,那么减完载入SysTick->LOAD的数总用时是nus*9/72000000秒,算出来不是nus  us啊,但仿真时确实是对的,为什么会这样?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-8-13 01:28:59 | 显示全部楼层
回复【4楼】autoscut:
---------------------------------
systick内部有一个固定的分频数8,他对AHB时钟进行分频,AHB时钟除以8,就是systick时钟了.
具体的关系,看<<STM32参考手册>>里面的时钟树这个图,就清楚了.

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2011-8-11
在线时间
0 小时
 楼主| 发表于 2011-8-13 19:36:33 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
恩,谢啦。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 20:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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