最近買了一款stm32f407zgt6的核心板,毫不猶豫地寫了一個用定時器點亮led燈的程序(由于程序比較簡單就不貼上來了)。在進行1秒閃爍功能實現時,明顯發現了led的閃爍時間不對,剛開始是拿手機進行簡單的計時,結果顯示的是大約3秒的延時(測了10秒亮了兩次),在仔細檢查代碼后,確定不是代碼問題(因為代碼是用的野火的示例代碼)
SystemCoreClock是系統預設的系統時鐘,在System_stm32f4xx.c文件中查的,f407對應的系統時鐘是168mhz
由SysTick_Init()函數,通過計算處理肯定能得到精確的定時,后通過定時器控制GPIO引腳連接至示波器檢測,在高電平延時1ms的情況下,測得實際值為3.1ms。再次檢查程序,確定沒有問題后。意識到可能是系統時鐘配置的問題。期間使用了網上推薦的獲得系統時鐘頻率的函數來檢測的方法,但是沒有實際進展,這里略過。按著思路,我找到了時鐘配置的原理圖由上圖,我們使用的是systick,其時鐘源是HSE。也就是說systick的頻率 f=(HSE/M)*N/P 由本帖第三幅圖上可得參數
M = 25 N=336 P=2 在System_stm32f4xx.c文件中,找到了如下配置
這下確認沒有問題了,把頻率參數 168000000hz代入公式反算,得到HSE=25000000,也就是說hse的輸入頻率應該是25Mhz,這明顯符合圖一上面的參數。由此確定,該問題并不是程序上的問題。于是問題集中到硬件上,那可能性就比較多了,先從時鐘源入手,上面的系統時鐘原理圖可以看出,hse的時鐘源由OSC_OUT與OSC_IN接入,找到核心板電路圖,如圖
本來是按著25MHZ的晶振去找,怎么都找不到,接著查引腳,找到了這個8MHZ的外部晶振,問題根源終于找到了,這塊板子的時鐘源用的是8MHZ,但是系統配置里面默認是按照25MHZ的,將HSE=8MHZ帶入計算公式,得到Systick=53760000HZ,大約是理想值的三分之一,到此終于確定了問題所在,為了后面工程的良好實施,系統頻率還是用規定的168MHZ,為好。接著修改就比較簡單了。
由公式反算,如果M=8的話,能得到理想頻率(為什么不是其他參數,請參考一下中文手冊,其他參數是有范圍的)
接下來是在系統配置里修改M參數,先將system_stm32f4xx.c文件的只讀屬性去掉(找到該文件,右鍵屬性去掉只讀),在kile5中重新打開該文件,將代碼翻到371行
將 25 改為 8,保存文件。將文件的只讀屬性加上,就可以完工了。到此時鐘終于正常了。事實證明這里不改的話,后面的串口通信,spi,i2c問題多多,我也是被折磨一陣后回來寫這個的。
最后附上我的核心板實物圖
上一篇:STM32 定時器中斷函數
下一篇:STM32的系統滴答定時器(Systick)
推薦閱讀
史海拾趣
為了進一步擴大市場份額,API Delevan公司積極尋求與國內外合作伙伴的合作,共同開拓市場。通過參加國際電子展會、舉辦技術研討會等方式,公司不斷提升品牌知名度和影響力。同時,API Delevan還注重客戶關系管理,為客戶提供優質的產品和服務,贏得了客戶的信任和忠誠。
GSME Electronics深知品質是企業發展的生命線。因此,公司積極尋求并通過了ISO9001:2000質量管理體系、ISO14001環境管理體系以及IECQ QC080000危害物質流程管理體系等三項認證。同時,公司還遵循歐盟ROHS指令,通過了無鉛、汞、無公害認證,確保產品符合國際環保標準。這些舉措不僅提升了公司的市場競爭力,也贏得了國內外客戶的廣泛認可。
隨著電子行業的快速發展和市場競爭的加劇,Bestar Electric面臨著諸多挑戰。為了應對這些挑戰,公司不斷調整戰略方向,加大研發投入,提升產品技術含量和附加值。同時,公司還注重人才培養和團隊建設,吸引了一批優秀的研發、銷售和管理人才,為公司的發展提供了有力保障。
1947年,James Van Ryan在美國紐約伍德斯托克創立了Comair公司,初期主要專注于風扇和風機產品的制造。當時,電子行業正處于起步階段,對散熱和空氣流動的需求日益增長。Comair憑借其出色的技術和產品質量,很快在電子行業中嶄露頭角,為早期的電子設備提供了可靠的散熱解決方案。
面對日新月異的電子行業技術和市場變化,Comair Rotron始終堅持創新和服務升級。公司不斷推出新型風扇和風機產品,以滿足不同客戶的個性化需求。同時,公司還加強了對售后服務的投入,建立了完善的客戶服務體系,為客戶提供更加便捷、高效的技術支持和維修服務。這些舉措不僅增強了客戶對Comair Rotron的信任和忠誠度,也為其在電子行業的持續發展提供了有力保障。
這些故事只是Comair Rotron在電子行業發展中可能的一部分,具體細節和準確性需要參考公司的官方資料或相關歷史文獻。Comair Rotron作為一個長期在電子行業發展的公司,其發展歷程必定充滿了挑戰與機遇,也必定有著更多值得探討和了解的故事。
在20世紀90年代初,Herga公司憑借其在精密電機技術上的突破,成功研發出一款高效能、低噪音的步進電機,迅速在自動化設備和電子設備市場中脫穎而出。這款電機不僅提高了生產效率,還顯著降低了能耗和噪音水平,贏得了眾多知名電子制造商的青睞。Herga公司借此機會,進一步拓展產品線,逐步確立了在電子行業精密傳動組件領域的領先地位。
1、同步電路和異步電路的區別是什么?(仕蘭微電子) 2、什么是同步邏輯和異步邏輯?(漢王筆試) 同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有固定的因果關系。 3、什么是"線與"邏輯,要實現它,在硬件特性上有什么具體 ...… 查看全部問答∨ |
|
6.6shell 執行了一個訪問慢速設備的函數,讀寫的次數很多,都是必須的 每次執行函數都有幾個較大的delay (1ms) 然后執行reboot函數 , 系統就掛了 請問是啥原因呢 ?… 查看全部問答∨ |
我想在S3C6410的板子上做一個簡單的3D的AP,系統是使用的OpenGL ES 2.0,我使用eglInitialize、eglChooseConfig、eglCreateWindowSurface、eglCreateContext、eglMakeCurrent等,一些列的函數初始化都通過了。但是為什么使用glClearColor來設置顏色 ...… 查看全部問答∨ |
現在wince 6.0和pxa310的系統下自己寫了一個播放音樂的程序,在播放音樂中按下睡眠按鍵,機器進入了睡眠狀態,當再次按下睡眠鍵,機器喚醒,但是會反復播放上次音樂最后一個buffer的內容:噹噹噹噹噹。。。 我在睡眠前關閉了dma output通道drsr[1] ...… 查看全部問答∨ |
OrCAD--->Model Edit中的Parameters各參數意義 Model Edit中有三個dock,其中一個是Parameters,在這個dock中,Parameter Name有很多參數,但是其代表的什么意思不知道,煩請大家幫助. 如我做了一個MOSFET庫,在Parameter Name這一列中,有L、W、KP、RS、RD、VTO、RDS、TOX、CGSO、CGDO、CBD、MJ、PB、 ...… 查看全部問答∨ |
在寫一個液晶顯示的程序,剛接觸液晶顯示,寫了一個簡單的時鐘程序來看效果。 程序初始運行良好,但加入鍵盤后,在某一次按下鍵盤后出現閃屏…… 用仿真器調試,發現反復壓棧,壓棧的時間很莫名其妙,出棧后的位置在程序的中間位置,按理說不應當 ...… 查看全部問答∨ |
我是驅動菜鳥,正在看ndis協議驅動,其中有一個環節是關于綁定網卡的例程: protocolChar.BindAdapterHandler = NdisProtBindAdapter; 請問一下: NdisProtBindAdapter函數是系統發現網卡存在的時候就會 ...… 查看全部問答∨ |
請問在應用程序里怎么知道普通的驅動程序的IOCTL操作碼 我想在應用程序里操作一個設備,不知道IOCTL操作碼,想得到它,是不是除了標準的程序外,就不可能知道了?… 查看全部問答∨ |
replyreload += \',\' + 691164;燈罩采用了非常細致的鏡面處理工藝,讓鼠標造型的這款LED燈具呈現出一種高質量的科技感。按下底座上的按鈕后,銀豆豆將不會只呈現一種光色,而是會不斷地進行兩種顏色的漸變Timson,如果您要查看本帖隱藏內容請回復… 查看全部問答∨ |