微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 各个例程中,发生的事件是怎么被读取到的?events=tasksEvents;这句话。还有tasksEvents=0;的作用是什么呢?

各个例程中,发生的事件是怎么被读取到的?events=tasksEvents;这句话。还有tasksEvents=0;的作用是什么呢?

时间:10-02 整理:3721RD 点击:

当检测到有事件发生时会执行下面四句话。

第一句:读取事件。

第二句:将事件标志暂时清零。

第三句:调用事件处理函数处理事件。

第四句:将没处理的事件重新放到事件表中。

现在有两个问题:

问题一:第一句说是能读取事件,每一个位代表一个事件,事件的定义我也找到了,应该是#define SYS_EVENT_MSG  0x8000 吧。但是我没找到tasksEvents[idx]在哪里被赋过值。求教它是怎么被赋上的值啊?

问题二:第二句暂时清零的目的是什么?完全可以不清零吧,直接把第四句改成tasksEvents[idx]=events;不就行了吗?

顶一下,期待解答

tasksEvents是一个指针,指向事件表的首地址。我没找到具体在哪里赋值了,有可能在协议栈里关联的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top