[問題] RTOS傳參數給Task
各位板友好
目前在練習RTOS的使用,但是碰上了一些問題
TASK_1每秒偵測開關所代表的數字(1 ~ 5)
TASK_2利用TASK_1偵測到的參數,做LED閃爍與延遲
每秒閃1~5次並延遲1~5秒,起初練習時,我用TASK_2-6...
後來想學著用參數的傳遞,這樣應該只需要一個TASK_2,
只是兩個是否都會碰到延遲的問題呢?
因為在判斷參數的更動,我用TASK_1去做,然後傳給TASK_2
當參數改變,TASK_2完成一次loop,可能還會有一段時間,
TASK_1發現參數改變,那該如何馬上讓TASK_2做新一輪的任務,
如果在TASK_2加一個判斷式,好像也得loop跑完才能執行。
這樣該如何解決延遲的問題呢? 我有想過刪除再創Orz
也有查到似乎能用Quene或是Event去做?
懇請板友解惑,也希望沒有違反板規,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.176.170
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1510767988.A.546.html
※ 編輯: fengwing (114.37.176.170), 11/16/2017 01:50:54
推
11/17 00:14,
7年前
, 1F
11/17 00:14, 1F
→
11/17 00:14,
7年前
, 2F
11/17 00:14, 2F
不好意思說明的不太好Orz
task1偵測、傳遞參數,以及讓task2 suspended、resume,
task2重覆做當下的任務,比如說重覆1秒閃5次、延遲5秒,
會有5種不同的參數被傳進task2,讓task2有5種運作方式,
我想請教當task1隨機時間傳遞不同的參數給task2,
當task2運行到一半的時候,因參數不同,要求task2做任務的切換,
task2是不是會將任務的最後一次迴圈做完,然後才會改做新的任務呢?
這樣我該如何讓task2立即中止舊任務,馬上開始做新的任務呢?
※ 編輯: fengwing (118.166.214.149), 11/17/2017 09:13:35
推
11/17 09:19,
7年前
, 3F
11/17 09:19, 3F
→
11/17 09:19,
7年前
, 4F
11/17 09:19, 4F
我在學習使用rtos的函數,還不是很熟,所以都用很簡單的例子Orz
※ 編輯: fengwing (118.166.214.149), 11/18/2017 12:15:12
ASM 近期熱門文章
PTT數位生活區 即時熱門文章