各个例程中,发生的事件是怎么被读取到的?events=tasksEvents;这句话。还有tasksEvents=0;的作用是什么呢?
时间:10-02
整理:3721RD
点击:
当检测到有事件发生时会执行下面四句话。
第一句:读取事件。
第二句:将事件标志暂时清零。
第三句:调用事件处理函数处理事件。
第四句:将没处理的事件重新放到事件表中。
现在有两个问题:
问题一:第一句说是能读取事件,每一个位代表一个事件,事件的定义我也找到了,应该是#define SYS_EVENT_MSG 0x8000 吧。但是我没找到tasksEvents[idx]在哪里被赋过值。求教它是怎么被赋上的值啊?
问题二:第二句暂时清零的目的是什么?完全可以不清零吧,直接把第四句改成tasksEvents[idx]=events;不就行了吗?
顶一下,期待解答
tasksEvents是一个指针,指向事件表的首地址。我没找到具体在哪里赋值了,有可能在协议栈里关联的。