STM32嵌入式裸機開發不停止式延時方式

2021-10-07 03:32:55 字數 437 閱讀 1191

stm32嵌入式裸機開發時,需要使用一些延時,比如stm32中預設的hal_delay(1000),表示延時1s,而這種延時是指令暫停等待,其他指令無法執行,效率特別低,而此時需要這種不停止式延時方式,這種延時方式也需要乙個基準定時器或者系統滴答,需要延時時獲取當前的基準定時器的時間作為基準,設定延時時間,每次執行到此處判斷當前累計時間差是否大於等於設定的延時時間,涉及到的引數如下:需要乙個tick,每次定時器時間到了後自增,需要乙個函式,獲取當前tick的值,需要乙個計算時間差的函式difftime,計算當前的時間差,需要乙個呼叫的延時函式,次函式傳入基準的tick以及需要延時的時間,waittime;

其以上的結構體如下:

typedef

struct

mydelay_t;

使用時把tickcount加入定時器中,使用waittime比較即可。

STM32嵌入式開發學習筆記(一)

stm32cubemx是st官方推出的一種stm32設定和初始化c 的生成器。它可以直觀的選擇stm32微控制器 配置微控制器 自動處理引腳衝突 動態設定確定時鐘樹 動態確定引數設定的外圍和中介軟體模式和初始化。cubemx生成的 可以在keil iar gcc等程式設計軟體上面使用。簡單理解,就是...

嵌入式之STM32系列筆記

一 微控制器程式構架設計 用微控制器開發專案,當 開發到一定的程度後,由於涉及到的源程式檔案與標頭檔案眾多,若在前期為程式設計好架構,則在一定程度上便於程式的維護與管理,更有利於理清思路,加快專案的開發。通常將程式架構設定為四層,如下圖 其中middleware可以沒有,如果沒有外部擴充套件件,如外...

初試stm32嵌入式開發遇到的巨坑

開發板使用的是st官方的stm32f207zg nucleo,遇到的問題是在keil中報錯 no target connected到網上找答案,都是說gpio口的問題,讓按著reset鍵改debug 的setting然後再download就好了,試了好久都沒效果,遂放棄。還有的說可能是晶元沒上電,我...