国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      沈陽芯碩科技有限公司

      免費會員·4年
      您現(xiàn)在的位置: 沈陽芯碩科技有限公司>>芯片>> 華大F460和4A0 systick使用注意
      華大F460和4A0 systick使用注意
      參考價: 面議
      具體成交價以合同協(xié)議為準
      • 產品型號
      • 品牌
      • 代理商 廠商性質
      • 沈陽市 所在地

      訪問次數(shù):237更新時間:2021-08-18 10:32:03

      聯(lián)系我們時請說明是智能制造網(wǎng)上看到的信息,謝謝!
      免費會員·4年
      聯(lián)人:
      沈陽芯碩科

      掃一掃訪問手機商鋪

      產品簡介
      1 1
      HC32F460 系列是基于 ARM® Cortex®-M4 32-bit RISC CPU,工作頻率 200MHz 的高性能 MCU。支持 所有 ARM 單精度數(shù)據(jù)處理指令和數(shù)據(jù)類型,支持完整 DSP 指令集。內核集成了 MPU 單元, 同時疊加 DMAC 專用 MPU 單元,保障系統(tǒng)運行的安全性。
      產品介紹

      客戶在用華大MCU systick做延時,表示系統(tǒng)延時不準確,差距很大。

      看一下systick的initial函數(shù) SysTick_Init:


      發(fā)現(xiàn)輸入到SysTick_Config中的SystemCoreClock,客戶打印或者debug發(fā)現(xiàn)SystemCoreClock為8M,實際客戶使用200Mhz運行。

      那么這個systick timer的計數(shù)時基就不對了,所以看一下SystemCoreClock是哪里配置的。
      發(fā)現(xiàn)是在系統(tǒng)剛啟動start.s調用的SystemInit內再調用SystemCoreClockUpdate函數(shù)中根據(jù)實際系統(tǒng)時鐘設置情況賦值。


      而實際程序中我們往往需要使用到PLL把MCU系統(tǒng)時鐘變更到更高的頻率上,比如200Mhz。
      通常我們會在main函數(shù)內加一個ClkInit類似函數(shù),在ClkInit中設置PLL 提高系統(tǒng)時鐘。
      那么startup_hc32f46x.s文件中在main函數(shù)執(zhí)行之前,會調用SystemInit:


      而SystemCoreClock就在SystemInit內設置,所以也就是說.s文件在我們main函數(shù)設置系統(tǒng)clk之前就已經(jīng)根據(jù)MCU剛剛啟動時的時鐘配置把SystemCoreClock賦值了。
      而MCU剛啟動的時候,都時默認內部8M RC振蕩器,SystemCoreClock為8Mhz也就不奇怪了。

      得出結論,我們在驅動或者其他程序運行的地方用到SystemCoreClock變量的地方 都會出現(xiàn)我們不想要的8Mhz時鐘。(在main運行后 變更了系統(tǒng)時鐘)

      所以,請在main調用類似ClkInit函數(shù)后,再次調用一下SystemInit或者SystemCoreClockUpdate來更新全局變量SystemCoreClock。
      這樣比如systick等用到變量SystemCoreClock初始化的功能都會正確設置時基。

      這里我建議使用SystemCoreClockUpdate來更新全局變量SystemCoreClock。



      會員登錄

      ×

      請輸入賬號

      請輸入密碼

      =

      請輸驗證碼

      收藏該商鋪

      X
      該信息已收藏!
      標簽:
      保存成功

      (空格分隔,最多3個,單個標簽最多10個字符)

      常用:

      提示

      X
      您的留言已提交成功!我們將在第一時間回復您~
      產品對比 二維碼

      掃一掃訪問手機商鋪

      對比框

      在線留言