日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> HK32/航順 >> 航順HK32F103RBT6單片機運行慢的解決方案

航順HK32F103RBT6單片機運行慢的解決方案

關(guān)鍵字:航順芯片 國產(chǎn)單片機 作者: 來源: 發(fā)布時間:2022-03-29  瀏覽:87

航順芯片因易替換意法半導(dǎo)體的STM32系列單片機而受到研發(fā)工程師的鐘愛,在國產(chǎn)化的過程中也會遇到小問題,看看高手是如何解決HK32F103RBT6單片機運行慢的問題。

問題描述:

用慣了ST公司的M3系列單片機,而又要支持國產(chǎn),所以找到了國產(chǎn)航順M3系列,說它完全和STM32單片機兼容,硬件電路和程序都可以直接使用,為了以后的項目方便使用,做了這么一個驗證實驗:

  1. 將以前一個使用STM32F103RET6做的一個項目的PCB板子拿來,將板子上STM32芯片使用風(fēng)槍吹下來,直接替換成HK32F103RBT6芯片;
  2. 使用STLink結(jié)合MDK5.24來調(diào)試:打開之前的MDK工程副本,將以前MDK項目Device里的STM32F103RET6改成ST32F103RBT6,再將Debug設(shè)置中的FlashDownload改為128K;
  3. 重新編譯;
  4. 點擊下載;

下載后,程序能夠跑起來,引腳控制、串口輸出、flash讀寫等等都沒有問題,唯一的問題是:感覺所有動作都慢半拍,運行得很慢!舉例:一個500ms的延時,結(jié)果表現(xiàn)出來5秒的樣子;

找原因:

1.首先懷疑是因為外部晶振沒有起振,導(dǎo)致芯片自動使用了內(nèi)部低速時鐘:用示波器看晶振波形,結(jié)論是:晶振工作正常;

2.懷疑程序中其他程序模塊的影響:主函數(shù)中,將其他程序全部注釋掉,只剩下延時和LED,結(jié)論是:并不是這樣的;

3.一陣瞎折騰:省略折騰過程,

最終結(jié)論:航順芯片內(nèi)部啟動外部高速時鐘HSE耗時比STM32長一點,以至于在執(zhí)行如下庫函數(shù)代碼時超時跳出,沒能正常啟動外部高速時鐘HSE:

/* Wait till HSE is ready and if Time out is reached exit */

do
{undefined
HSEStatus = RCC->CR & RCC_CR_HSERDY;
StartUpCounter++;
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

解決辦法:

1.打開stm32f10x.h,找到如下一行:

#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */

2.將超時時間HSE_STARTUP_TIMEOUT改長一些,這里我將0x0500改為0xF500

3.重新編譯下載;

問題解決!

編輯:admin  最后修改時間:2022-03-29

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

郑州市| 合水县| 临西县| 寿光市| 洛隆县| 长垣县| 望都县| 广宗县| 扬中市| 阿尔山市| 乐山市| 昌都县| 屯门区| 宜川县| 陆良县| 光山县| 罗源县| 越西县| 桃江县| 铁力市| 延长县| 卢龙县| 温州市| 昌宁县| 徐州市| 盐亭县| 馆陶县| 龙口市| 荥经县| 麟游县| 延长县| 剑川县| 广河县| 铜川市| 嘉义县| 玛曲县| 买车| 阿拉尔市| 镇坪县| 屏边| 毕节市|