嵌入式專案的開發經驗

2021-08-18 10:43:32 字數 1207 閱讀 5687

#define board_addr (uint16_t)(('0')|('1')<<8)

巨集定義只能定義常量不可定義變數:

#define board_addr (board_id/10+'0')|(board_id%10+'0')<<8)

board_id為變數,所以不成功

receive_flag = 1;

定義標誌位,if()語句常用標誌位為1來判斷是否進入執行內部函式。

中斷定時器中,採用標誌位來判斷執行時間到了嗎?到了就進入if()執行內部函式,節約微控制器資源。

微控制器除錯要領:

設定執行斷點

先全速執行到要除錯部分再單步執行檢視執行過程。

判斷是否執行至設定斷點的語句處,判斷執行中間過程可能出現的原因。

監聽陣列,變數等的資料變化

進入watch1,出現如圖所示內容,監聽內部資料變化

中斷定時器

#include "stm32f10x_it.h" 中設定函式,使用微控制器中斷定時器資源

在給定stm32函式中巢狀需要函式是使用內部資源最方便合理的做法。

採用了中斷標誌

啟用中斷定時器必須啟用如圖所示時鐘函式。

結構體:簡化程式設計

中為連續結構體

__attribute__((__packed__)) //配置連續存貯空間

結構體與指標的結合能極大的簡化程式設計

rev_dat *tp;定義結構體指標,並啟用函式,方便後續呼叫。

按鍵:按鍵掃瞄,把結果存入變數中,採用二進位制位來判斷是否按下。

嵌入式開發經驗

任何開發都依賴硬體,在嵌入式領域。cpu的外設很重要,我們一般都是根據外設進行開發。其實cpu的核心 arm powerpc等 反而對於我們而言並不是那樣重要。開發時,乙個好的硬體測試平台很重要。包括偵錯程式和開發環境。同時,晶元資料手冊和參考手冊很重要。但是絕對不是硬生生地像閱讀一本教科書一樣進行...

對基於模型的嵌入式開發專案的工作

基於模型進行嵌入專案的開發,在模型建設方面主要分兩個部分 乙個是控制策略 控制演算法的建模 這部分所建立的模型在後續的工作中主要用來進行控制 以及自動 生成及演算法實現 另乙個是被控物件模型 這一部分一般不需要生成產品級 主要作用是用來驗證第一部分模型的正確性,以及能夠方便的在模型階段進行一些控制引...

嵌入式專案管理 嵌入式專案講解

通過建立乙個嵌入式專案管理,能夠使產品完成效率更高,少該bug,提高產品質量,綜合各大家指導和本人經驗,將嵌入式研發專案的一般流程總結如下 嵌入式專案管理 嵌入式專案講解 一.高層設計 規劃專案 1.抽取難點 將專案中難點分解成乙個個原子性實驗 2.設計演算法 將每個原子性實驗設計實現演算法 3.搭...