//系統時鐘初始化函式
//pll:選擇的倍頻數,從2開始,最大值為16
void stm32_clock_init(u8 pll)
}
//不能在這裡執行所有外設復位!否則至少引起串列埠不工作.
//把所有時鐘暫存器復位
void myrcc_deinit(void)
4個暫存器控制systick定時器:
void delay_init()
//延時nus
//nus為要延時的us數.
void delay_us(u32 nus)
while((temp&0x01)&&!(temp&(1<<16))); //等待時間到達
systick->ctrl&=~systick_ctrl_enable_msk; //關閉計數器
systick->val =0x00; //清空計數器
}//延時nms
//注意nms的範圍
//systick->load為24位暫存器,所以,最大延時為:
//nms<=0xffffff*8*1000/sysclk
//sysclk單位為hz,nms單位為ms
//對72m條件下,nms<=1864
void delay_ms(u16 nms)
while((temp&0x01)&&!(temp&(1<<16))); //等待時間到達
systick->ctrl&=~systick_ctrl_enable_msk; //關閉計數器
systick->val =0x00; //清空計數器
} #endif
STM32學習 時鐘系統
眾所周知,時鐘系統是 cpu 的脈搏,就像人的心跳一樣。所以時鐘系統的重要性就不言而 喻了。stm32 的時鐘系統 stm32 的時鐘系統比較複雜,不像簡單的 51 微控制器乙個系統時鐘就可以解決一切。於 是有人要問,採用乙個系統時鐘不是很簡單嗎?為什麼 stm32 要有多個時鐘源呢?因為首先 st...
STM32 學習筆記(4)系統時鐘
cortex m3中,有個systick 系統時鐘,systick 是cm3核心的外設,相關定義在core cm3.h中。系統定時器內嵌在nvic中,是24位的向下遞減的計數器,每記一次數的時間是1 sysclk。一般設定sysclk 72m。而系統時鐘一般用於作業系統產生時基。與systick相關...
STM32系統時鐘
1 參考資料 stm32f1開發指南 庫函式版本 4.3小節 時鐘系統 stm32中文參考手冊v10 第六章 復位和時鐘控制 rcc 2 時鐘系統知識總結 1 stm32有5個時鐘源 hsi hse lsi lse pll hsi是高速內部時鐘,rc振盪器,頻率為8mhz,精度不高 hse是高速外部...