STM8S系統(tǒng)時(shí)鐘設(shè)置,對于單片機(jī)來說是非常重要的,不同的用處必須應(yīng)用不同的時(shí)鐘。。舉個例子,做AVR時(shí)在高穩(wěn)定的串口通訊時(shí)用的時(shí)鐘一般是3.6864M,主要是這個算波特率精確。。STM8S同樣重要。。 STM8S時(shí)鐘源:
●1-24MHz高速外部晶體振蕩器(HSE)
●最大24MHz高速外部時(shí)鐘信號(HSE user-ext)
●16MHz高速內(nèi)部RC振蕩器(HSI)
●128KHz低速內(nèi)部RC(LSI)
各個時(shí)鐘源可單獨(dú)打開或關(guān)閉,從而優(yōu)化功耗。
本文引用地址:http://2s4d.com/article/201611/320890.htm對于我這么懶得人一般都是用的內(nèi)部或者外部晶振。。這個芯片時(shí)鐘方面很大的一個亮點(diǎn)就是時(shí)鐘可以自由分頻。在降低功耗方面,如果有特殊需求的時(shí)候還是考慮STM8L系列或者430的吧,不得不承認(rèn)術(shù)業(yè)有專攻。
按照技術(shù)手冊寄存器功能給寄存器賦值寫成一下函數(shù):
//啟動時(shí)鐘配置
void SysClkInit(void)
{
// CLK_SWR=0xe1; //HSI為主時(shí)鐘源
CLK_SWR=0xb4; //HSE為主時(shí)鐘源
CLK_CKDIVR=0x00;//CPU時(shí)鐘0分頻,系統(tǒng)時(shí)鐘0分頻
CLK_CSSR=0x01;//時(shí)鐘安全監(jiān)測使能
CLK_SWCR=0x02;//使能自動時(shí)鐘切換
}
首先設(shè)置時(shí)鐘源,也就是時(shí)鐘是用內(nèi)部還是外部,如果對時(shí)間精度要求不高,用內(nèi)部也可以。。然后是時(shí)鐘分頻。。這個分頻需要設(shè)定系統(tǒng)時(shí)鐘和CPU時(shí)鐘,這兩個時(shí)鐘,如果對此有特殊要求就得好好斟酌一下了,而我全部不分頻。時(shí)鐘安全監(jiān)測還是打開吧,如果用的外部時(shí)鐘,但是外部時(shí)鐘突然出現(xiàn)故障的話,單片機(jī)會自動啟用內(nèi)部時(shí)鐘,內(nèi)部時(shí)鐘默認(rèn)為8分頻也就是2M。然后時(shí)鐘自動切換,好像這個有沒有都可以,去掉能不能使回頭再試。。
開機(jī)初始化,在不調(diào)用此函數(shù)時(shí)CPU時(shí)鐘默認(rèn)開啟2M,但是調(diào)用此函數(shù)后,時(shí)鐘切換為16M,LED閃爍速度明顯加快、、
評論