人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線(xiàn): 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶(hù)產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

什么是MCU時(shí)鐘頻率?使用時(shí)鐘頻率技巧

更新時(shí)間: 2024-05-28
閱讀量:1189

與微處理器的高時(shí)鐘頻率不同,MCU普遍工作在較低的頻率范圍內(nèi)。一般情況下,MCU通常只需要處理速度較慢且結(jié)構(gòu)簡(jiǎn)單的處理器,比如25MHz就足夠了。下面文章中,我們來(lái)討論MCU項(xiàng)目開(kāi)發(fā)中一個(gè)重要的硬件細(xì)節(jié),單片機(jī)CPU的時(shí)鐘頻率。

一、時(shí)鐘頻率為何重要?

更高的時(shí)鐘頻率意味著更快的處理速度,但這不是重點(diǎn)。時(shí)鐘頻率在開(kāi)發(fā)設(shè)計(jì)中很重要,因?yàn)樗粌H影響CPU速度,還影響各種外設(shè)的性能,例如:ADC、DAC、PWM、計(jì)時(shí)器和I2C模塊等。

MCU時(shí)鐘與外設(shè)

這些外設(shè)通常由系統(tǒng)時(shí)鐘驅(qū)動(dòng),因此 ADC 的采樣率、UART的波特率、計(jì)時(shí)器的計(jì)數(shù)頻率等都與系統(tǒng)時(shí)鐘頻率直接相關(guān)。

二、如何處理不同頻率?

在寫(xiě)程序時(shí),通過(guò)直接訪(fǎng)問(wèn)當(dāng)前時(shí)鐘頻率的常量或變量,我們可以使代碼更簡(jiǎn)潔、更易編寫(xiě)且更通用。下面我們來(lái)舉個(gè)例子:

(1)使用常量

你可以使用預(yù)處理器定義一個(gè)常量來(lái)表示系統(tǒng)時(shí)鐘頻率,例如:

#define SYSCLK_FREQ 25000000


這樣,依賴(lài)系統(tǒng)時(shí)鐘的功能可以使用 SYSCLK_FREQ 進(jìn)行計(jì)算。例如:

ClkDiv_Value = SYSCLK_FREQ / 1000000;


如果系統(tǒng)時(shí)鐘改變,你只需更新 SYSCLK_FREQ 的值即可。

(2)使用變量

使代碼適應(yīng)新時(shí)鐘條件的重要性在于方便試驗(yàn)不同頻率,通過(guò)找到讓MCU保持足夠性能的最低時(shí)鐘,以此來(lái)減少功耗,并增加代碼的可重用性。例如:

unsigned long SysClk_Freq = 16000000;
if (MCU_STATE == NORMAL) {
    Config_Normal();
    SysClk_Freq = 16000000;
} else if (MCU_STATE == LOW_POWER) {
    Config_LowPower();
    SysClk_Freq = 1000000;
}


以上就是英銳恩單片機(jī)開(kāi)發(fā)工程師分享的時(shí)鐘頻率介紹及使用時(shí)鐘頻率技巧。英銳恩專(zhuān)注單片機(jī)應(yīng)用方案設(shè)計(jì)與開(kāi)發(fā),提供8位單片機(jī)、32位單片機(jī)。

林西县| 尤溪县| 湘西| 松溪县| 赫章县| 宝山区| 淮安市| 武汉市| 滨海县| 邳州市| 友谊县| 施甸县| 蓬溪县| 昌吉市| 武威市| 太保市| 绥江县| 墨竹工卡县| 定结县| 神农架林区| 普宁市| 招远市| 苏州市| 阿克陶县| 绥江县| 大邑县| 郸城县| 扎赉特旗| 灵台县| 资源县| 邯郸县| 宣汉县| 通化市| 永顺县| 贺兰县| 恩平市| 栾城县| 福清市| 道孚县| 临漳县| 满洲里市|