本文作者:Miler Shao
印象中好幾次有人問起STM8S的內部低速時鐘[LSI]是否可以作為系統主時鐘即Fmaster的問題。從時鐘樹上看是可以的。
可當有人在程序代碼里配置使能LSI并把主時鐘切換到LSI后,可就是不起作用。
如果用戶程序代碼及外圍硬件正常的話,LSI切換為主時鐘后不工作往往是因為少了相關option項的使能配置。 如果觀察仔細的話,可以看到上面時鐘樹的紅色箭頭所指的地方提到LSI_EN 的option配置位。該配置位在開發環境里或STVP之類的燒錄工具里都可看到。 如果要想讓LSI做主時鐘,除了相關主時鐘切換代碼外,還必須在option相關字節里配置LSI_EN位。
順便提下STM8S芯片的Beep功能的一個注意點。
STM8S MCU內嵌BEEP功能,一般來說都會使用LSI作為BEEP的時鐘源。這里要提醒的是,在配置BEEP的預分頻系數BEEPDIV[4:0]時不要配置為0x1f或者使用默認值,芯片復位后的默認值就是0x1f。否則BEEP計數器是不會計數工作的。
|