最近在學(xué)習(xí)官方基于CH582的三模鍵盤源碼,源碼中關(guān)于PM的部分是這樣的:
每次有按鍵生成時(shí),調(diào)用
pm_start_working(PM_WORKING_TIMEOUT, PM_IDLE_TIMEOUT);
來觸發(fā)一個5分鐘后的睡眠任務(wù)。這個函數(shù)內(nèi)部再調(diào)用
tmos_start_task(pm_task_id, PM_ENTER_IDLE_EVENT, MS1_TO_SYSTEM_TIME(working_timeout));
那假設(shè)用戶不停的按鍵,tmos_start_task就會被不停的調(diào)用。我的問題是,當(dāng)有同一個task_id和event_type的task被多次啟動時(shí),是最新的task替換掉之前舊的task呢(即只觸發(fā)一次),還是每一個task都會在它們各自的working_timeout到期時(shí)被觸發(fā)?謝謝!
根據(jù)我的測試好象是前者,但是這跟我對TMOS的文檔理解不太一樣,我以為每個task_id里的event是形成一個鏈表,那么應(yīng)該會允許同一個event_type有多次的觸發(fā)。