ProtoThread在STM32上實現跑馬燈

2021-10-03 13:54:19 字數 891 閱讀 8253

protothread相關介紹,原始碼獲取等請到我的另乙個博文閱讀:

protothread的介紹**:

protothread優缺點都有,它實現了乙個輕量級的基於事件觸發的執行緒模型,特別適用於走台階似的一級一級的往下走問題處理,你到了某個台階上,不走了,去了一趟廁所,回來後可以從這個台階上繼續往前走,不會因為你上了廁所這段台階就讓你從頭再開始走一樣;例如各種協議的解析等都可以實用該模型去解析。

當然什麼事情都沒有最好,只有最適合你或者問題的解決方案。要為了解決問題而解決問題,不能為了解決問題而製造問題。

內容很簡單,就實現了乙個跑馬燈程式功能,我就不一一解釋了。

#include #include "pt.h"

#include "main.h"//一些自定義的巨集

static struct pt taskapt;

static struct pt taskbpt;

static struct pt taskcpt;

static uint8_t led1_state=0;//0表示滅,1表示亮

static uint8_t led2_state=0;//0表示滅,1表示亮

static uint8_t led3_state=0;//0表示滅,1表示亮

static pt_thread(taska(struct pt *pt))

pt_end(pt);

}static pt_thread(taskb(struct pt *pt))

pt_end(pt);

}static pt_thread(taskc(struct pt *pt))

pt_end(pt);

}int main(void)

}

2020-03-06@北京

ProtoThread程式設計技術簡介

在介紹protothread前,我們先了解下他的作者,瑞典計算機科學院 sics 大名鼎鼎的 adam dunkels,他是uip,lwip,contiki的作者,他還成立了公司,專門做物聯網相關的產品。lwip就不介紹了,開源的輕量級tcp ip協議棧,使用的非常廣泛 但是它比uip網路協議棧要複...

在STM32使用串列埠printf

在stm32串列埠通訊程式中使用printf傳送資料,非常的方便。可在剛開始使用的時候總是遇到問題,常見的是硬體訪真時無法進入main主函式,其實只要簡單的配置一下就可以了。下面就說一下使用printf需要做哪些配置。有兩種配置方法 一 對工程屬性進行配置,詳細步驟如下 1 首先要在你的main 檔...

在STM32上移植FreeRTOS

freertos是乙個迷你的實時作業系統核心。作為乙個輕量級的作業系統,功能包括 任務管理 時間管理 訊號量 訊息佇列 記憶體管理 記錄功能 軟體定時器 協程等,可基本滿足較小系統的需要。開啟後如下如顯示 為了避免出錯,請將路徑改為全英文 將主程式改為如下 include freertos.h in...