型號:stm8s903k3
編譯器:STVD4.3.5+cosmic 8k 5.4.1
其他:采用操作寄存器,不使用庫
-----------------
時鐘是單片機的靈魂,所有的東西都和時鐘有關。相比AVR反人類的熔絲位設置時鐘/振蕩源。stm只要操作寄存器就可以了。最關鍵的是??!就算設置錯了也不!會!鎖!死!
----------------
stm內部時鐘示意圖。
由圖就可知,系統時鐘可以由外部HSE(high speed external)或內部高速時鐘HSI(high speed internal)或內部低速時鐘LSI(low speed internal)提供。這里以內部高速時鐘舉例,內部高速時鐘HSI經過HSIDIV分頻,得到Fmaster時鐘,這個請注意,顧名思義,這個時鐘是主要時鐘,芯片內的其他所有時鐘,都是通過這個時鐘分頻而來(一次分配),并且他還控制這這些外設時鐘的門(開啟或者關閉)。
Fmaster是主干,內部/外部時鐘是根,CPU或者外設時鐘是枝,根和枝有很多,但是主干就一個。
因此,配置時鐘的思路就是。
首先確定好Fmaster的值,默認是分頻8,我們可以通過HSIDIV位來改變。
第二確定好CPU的頻率,通過設置CPUDIV實現。
第三選擇使能的外設時鐘,在有功耗要求的情況下,關閉不使用的時鐘可以降低功耗。默認全部開啟。
第四其他設置,時鐘切換啊SWIM啊時鐘輸出等等。下面源碼沒設置均默認。
下面是源碼
/************************************************************************/
/* 功能:時鐘配置初始化
* 形參:無
* 返回:無
* 修改:2014-11-14
* 緣由:全局時鐘初始化,主頻,門控位 */
/************************************************************************/
void clk_init(void)
{
/*對于內部高速時鐘HSI[16MHz],其邏輯關系是HSI---[HSIDIV分頻]---[時鐘選擇門]---
* 主時鐘Fmaster---{[CPUDIV分頻]---Fcpu時鐘;其他外設時鐘}
*/
CLK_ICKR = 0x01; //Internal clock control register。復位值,使能HSI時鐘,快速喚醒禁止
CLK_ECKR = 0x00; //External clock control register。HSE禁止。
CLK_SWR = 0xE1; //Clock master switch register。選擇HSI為主時鐘。
CLK_SWCR = 0x00; //Clock switch control register。時鐘切換,中文數據手冊翻譯似乎有誤
/*Clock divider register。分頻Fmaster和Fcpu。
* 默認是8和1,現在是2和1,因此Fmaster=8M,Fcpu=8M */
CLK_CKDIVR = 0x08;
CLK_PCKENR1 = 0xFF; //Peripheral clock gating register 1。Fmaster與外設時鐘連接
CLK_PCKENR2 = 0x0; //同上
CLK_CSSR = 0x0; //Clock security system register。時鐘安全檢測關
CLK_CCOR = 0x0; //Configurable clock control register。時鐘輸出關閉
}
-------------------
更新,stm有個LSI校準的功能,具體可以看芯片手冊。而且這個校準功能,庫函數已經寫好了。但是使用的時候要注意兩點。
一,庫函數的LSI校準功能是使用AWU和TIM3的,因此在上面的配置中CLK_PCKENR2里面應該配置為打開AWU外設,否則會死循環。
二,TIM3如果需要做其他功能的話,務必在LSI校準之后配置,即順序時主時鐘初始化----LSI校準----TIM3配置,否則會無法啟動TIM3
三,以上的LSI校準程序來自最新的官方固件庫。其實個人認為如果頻率要求不嚴就不要配置了,比如蜂鳴器……
上一篇:STM8L HSE時鐘配置
下一篇:stm8 點亮第一個LED
推薦閱讀
史海拾趣
作為一家有社會責任感的企業,西博臣積極履行社會責任,關注環境保護和可持續發展。公司采用環保材料和生產工藝,減少生產過程中的能源消耗和廢棄物排放。同時,公司還積極參與社會公益活動,為社會做出積極貢獻。這些舉措不僅體現了公司的社會責任感,也為其贏得了更多客戶和合作伙伴的信任和支持。
在追求經濟效益的同時,捷嘉電子始終不忘履行社會責任。公司積極參與各種公益活動,支持教育事業和環保項目。此外,捷嘉電子還致力于推動行業的可持續發展,通過研發節能環保產品和技術創新來減少對環境的影響。這些舉措不僅提升了公司的社會形象,也為電子行業的可持續發展做出了積極貢獻。
請注意,以上故事是基于目前所了解的信息進行的虛構創作,并非真實事件。如有雷同,純屬巧合。同時,“Chequers Electronic”并非一個已知的公司名稱,因此假設其指的是名為捷嘉的某電子行業相關企業。如需更多信息或詳細故事,請提供更多背景資料或具體要求。
捷嘉電子在成立初期面臨著巨大的挑戰。那是一個智能電子產品剛剛開始興起的時代,市場競爭激烈。公司創始人余文躍憑借對電子行業的深刻理解和對技術創新的執著追求,決定投身于智能控制器的研發與生產。在初創階段,資金緊張、人才短缺、市場推廣困難重重。但余文躍憑借著堅韌不拔的毅力,帶領團隊攻克了一個又一個技術難題,逐漸在市場上站穩了腳跟。
隨著技術的不斷進步,Blaze公司意識到要想在激烈的市場競爭中立于不敗之地,必須不斷進行技術創新和品質升級。因此,公司加大了研發投入,引進了一批高端技術人才和先進設備,成功研發出了多項具有自主知識產權的核心技術。同時,公司還嚴格把控產品質量,確保每一塊顯示屏都達到行業領先水平。
隨著公司規模的擴大和市場競爭的加劇,DCX-CHOL Enterprises意識到品質管理的重要性。公司投入大量資源提升生產線自動化水平,引進先進的品質檢測設備,并建立了嚴格的質量管理體系。這些措施有效地提高了產品的品質穩定性和可靠性,贏得了客戶的信賴。同時,公司還注重員工培訓和技能提升,培養了一支高素質、專業化的技術和管理團隊。
隨著電子行業的快速發展,Akros公司意識到技術創新的重要性。公司加大了對研發的投入,成功開發出了一系列具有高性能和穩定性的電子產品。這些產品不僅滿足了市場的多樣化需求,還贏得了客戶的廣泛認可。通過技術的不斷創新和產品的不斷優化,Akros逐漸在行業中樹立了良好的口碑。
前些天被老板發配到了貴州的一個國家級貧困縣,給他們的政府做一個CRM系統項目連帶培訓。我的主啊,這回真見識了國家級貧困縣,全縣城找不到一家有寬帶的賓館,誰知道黃鼠狼專咬病鴨子,到了那地方沒兩天電腦主板燒了,又沒地方修,對于我這個“重 ...… 查看全部問答∨ |
|
上周,TI發布了其新品:ADS4149,單獨拿出哪個指標,這款產品并不是最特殊的,但是將“低功耗”、“250MSPS”、“ 14位 ”、“ADC” 這些字眼結合在一起,卻著實有競爭力。 該款 14 位 ADS4149 擁有 250兆次每秒 (MSPS) 的最高采樣率,與性能 ...… 查看全部問答∨ |
|
TQ2440板子,ov9650攝像頭,用VS2005下的VC++編寫應用程序,如何把OV9650 拍到的圖像保存為BMP格式的文件?需要用到那些函數?如何得到數據緩沖區的地址?下面是部分驅動程序代碼: 1、CIS_IoControl()中的一部分: // for MPEG4 ...… 查看全部問答∨ |
我在SD卡里面創建一個“我們.txt”文件,結果在PC機上看到文件名為“컒쏇.txt”。 創建“我們.txt”文件,并給此文件里面寫一段中文,里面的中文都很正常。就是文件名為“컒쏇.txt” 不過用FileScanName函數可以 ...… 查看全部問答∨ |