268_S32K144_FreeRTOS的隊列

完整的S32K144的學習彙總如下:

https://github.com/GreyZhang/g_s32k144

    繼續學習S32K144,結合這個芯片學習一下FreeRTOS的實際應用。這一次,我想先學習一下隊列的應用。

    按照文檔的解讀,這個隊列其實確實是有着一個先後關係的意思。但是,這個隊列的作用更多的是一個消息傳遞。今天,我需要做的工作如下:

  1. 使能FreeRTOS中的隊列功能;
  2. 創建一個隊列信號,實現一個深度的隊列信號的的收發測試;
  3. 創建一個多元素的隊列,測試多元素隊列的行爲。

    之後,代碼生成,增加如下的代碼設計。

    創建一個task,接收隊列信號。隊列信號的發送通過1000ms的task。

    隊列信號在這裏發送,每次增加 1。

    這個任務,接收到信號之後執行任務體,每次打印一個字符。這樣,軟件運行的效果如下:

    看的出,與我們預期的效果一致。

    接下來,試試隊列深度的修改。上面的字符其實一共是9個,我們直接把隊列深度修改爲10,然後,一次發送9個隊列信號。

    隊列深度修改。

    發送方式修改。至於接收隊列的task,不需要修改。軟件編譯燒寫之後運行效果:

    依然如此,但是,這一次的字符串能夠感覺得出,一下子全都打印出來了而不像之前每秒鐘只有一個字符。其實,這個功能可以給我們一些啓示,那就是我們可以藉助於這個功能完成一個資源佔用不大的printf。

    增加隊列的註冊功能,允許最多2個隊列註冊。

完整的S32K144的學習彙總如下:

https://github.com/GreyZhang/g_s32k144

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章