delay_init函数困扰了我很久,今天理解了。
Stm32_Clock_Init(9);
delay_init(72);
初始化的语句,即sysclk=72,fac_us=9(无单位)。外部晶振为8MHZ, “Stm32_Clock_Init(9)”将时钟倍频到72MHZ。systick的时钟为外部时钟的1/8,所以systick(系统时钟)为9MHZ。系统运行9M次耗时1s,因此运行9次耗时1us。
fac_us没有单位,它只是在重装初值时起到作用,比如Systick->LOAD=nus*fac_us.
我是菜鸟,以上是我的理解,有问题希望大家改正。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
就像说,在液晶显示实验里面,我把延时初始化函数去掉了,怎么就显示不了了呢
---------------------------------
因为液晶初始化用到了延时函数,你屏蔽了初始化,延时就不准,不准就要出问题,出问题就lcd不显示了....
---------------------------------
是这样,好的
一周热门 更多>