HK32F030M是航順一款入門級經濟型32位MCU,使用ARM? Cortex?-M0內核,最高工作頻率32 MHz,內置16 KByte Flash、448 Byte EEPROM和2 KByte SRAM。由于其超高的性價比,在工業、醫療、消費電子等行業得到廣泛應用。
HK32F030M使用過程中如果設計有軟件循環設計延時,有可能會出現延時不準確的現象。
原因是由于芯片設計時,在存儲設備和MCU之間設計了4個word的高速buffer,存儲慢的數據先把數據存放到buffer。通過buffer可以減少進程間通信需要等待的時間,在此期間MCU可以干其他的事情,但是當循環指令小于4個word(最大8條指令)時,有可能代碼存放于高速buffer,造成循環代碼的取指時間不固定。對于這種情況,請參考以下解決方案:
建議在DelayMs函數中,增加循環體中指令數量,讓代碼的取指不會命中高速buffer。
由于Nop的指令只有16bit,buffer是32位取指,所以為了一致性,建議加偶數個 nop。
修改前
修改后
來源: 航順芯片
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17185瀏覽量
351704 -
芯片設計
+關注
關注
15文章
1023瀏覽量
54937 -
EEPROM
+關注
關注
9文章
1023瀏覽量
81715 -
航順芯片
+關注
關注
1文章
109瀏覽量
22825
發布評論請先 登錄
相關推薦
評論