一、微控制器程式構架設計
用微控制器開發專案,當**開發到一定的程度後,由於涉及到的源程式檔案與標頭檔案眾多,若在前期為程式設計好架構,則在一定程度上便於程式的維護與管理,更有利於理清思路,加快專案的開發。通常將程式架構設定為四層,如下圖(其中middleware可以沒有,如果沒有外部擴充套件件,如外部flash)
針對stm32f429(阿波羅開發板),採用工程檔案配置以及程式架構如下:
二、時間片輪詢
三、串列埠收發之管道fifo
四、定時器編碼器模式
增量式編碼器在實際應用中還是很常見。stm32的定時器帶的也有編碼器模式。所用的編碼器是有abz三相,其中a、b相是用來計數,z相輸出零點訊號,根據延遲關係可以區別正反轉,而且通過取a相、b相的上公升和下降沿可以進行2或4倍頻。z相為單圈脈衝,即每圈發出乙個脈衝,常用於校正累計誤差。。ab相根據旋轉的方向不同,輸出的波形如下圖所示:
從圖上可以看出來,cw方向a相會超前b相90度左右,相反ccw方向,b相會超前a相90度左右。不過方向判斷stm32自己是可以完成的。(cw/ccw是雙脈衝工作方式,兩根線都輸出脈衝訊號,cw為正轉脈衝訊號,ccw為反轉脈衝訊號,通常都是差分方式輸出,兩訊號相位差90度,根據相位超前或滯後來決定旋轉方向)
STM32嵌入式開發學習筆記(一)
stm32cubemx是st官方推出的一種stm32設定和初始化c 的生成器。它可以直觀的選擇stm32微控制器 配置微控制器 自動處理引腳衝突 動態設定確定時鐘樹 動態確定引數設定的外圍和中介軟體模式和初始化。cubemx生成的 可以在keil iar gcc等程式設計軟體上面使用。簡單理解,就是...
Stm32嵌入式電子相簿簡易實現
kevinten10 stm32 lifecat 基於stm32晶元進行開發,採用480 320解析度內建視訊記憶體模組的lcd顯示屏模組,使用stm32晶元內建的fsmc模擬8080介面時序從而驅動lcd。通過fatfs檔案系統進行sd儲存空間的管理。1 通過fatfs方式讀取fat32格式sd卡...
學STM32還是學嵌入式linux
01 話 題 經常有大學生同學糾結 我到底是學stm32還是學嵌入式linux。這個問題很多人都會有自己的看法,今天我試著從多個角度,把我了解到的事實講一下,希望對大家有所啟發。02 stm32確實好 首先得承認stm32確實好,好到stm32都成了微控制器mcu的代名詞了,現在很多人甚至說微控制器...