您的位置:首页 > 其它

STM32的时钟管理分析

2013-06-16 12:57 337 查看
参考资料:

(1) 单片机原理与应用(第二版) 张毅刚版 P36

(2) STM32硬件入门

(3) STM32 F103 中文资料

(4) STM32 函数说明

(5) STM32电路图

如图(注意STM32的电源电压为3.3V而不是5V)

RTS和DTR配置的晶振为12MHz 。这个晶振的设计是为了满足STM的ISP下载使用。

HSE这个4至16MHz的外部晶振的优点在于能够产生非常精确的主时钟(HSE晶体)【2】。

时钟振荡周期T = 1/8MHz .

for(; nCount != 0; nCount--); for循环,翻译成汇编指令可知需要执行一次4条指令。

配置系统时钟为 9*PLL,即72MHz。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

上面的计算方式固定在了51的思想上。

而STM32有三级流水线,指令周期不定的,ARM给出的是1.25MIPS/MHz,一个平均执行速度。

STM32不像51、AVR那样,每条指令有确切的执行时间,STM32有流水线,遇到跳转的时候会刷新流水线,CPU需要等几个周期

参考一下方法设计精确的延时函数。
http://www.ednchina.com/ART_44856_15_0_OA_6d2a6eec.HTM?jumpto=view_welcomead_1371473958698
备注:

typedef unsigned long u32;

typedef unsigned short u16;

typedef unsigned char u8;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: