void HalKeyInit(void){}
void HalKeyConfig(bool interruptEnable, halKeyCBack_t cback){}
中断处理函数
HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )
Sniffer Log above Everything Else
CC2530芯片在TI协议栈中自定义外部中断学过单片机或写过CC2530裸板程序的同学都知道,外部中断的处理是通过中断服务程序实现的。
在CC2530裸板程序中,我们可以这样实现。
[cpp] view plain copy
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)//假设P0口全部定义为中断模式
{
if(P0IFG >>4 &0x01) //P0IFG是CC2530的中断标志位
{
led2 = ~led2//P0_4触发中断
}
if(P0IFG >>5 &0x01) //P0_5触发中断
{
led1 = ~led1
}
P0IFG = 0
P0IF = 0
}
消息是收到的事件和数据的一个封装,比如发生了一个事件(收到别的节点发的消息),这时就会把这个事件所对应的事件号及收到的数据封装成消息,放入消息队列中。协议栈是由各个层组成的,每一层都要处理各种事件,所以就为每一层定义了一个事件处理函数,我们可以把这个处理函数理解为任务,任务从消息队列中提取消息,从消息中提取所发生的具体事件,调用相应的具体事件处理函数,比如按键处理函数等等欢迎分享,转载请注明来源:内存溢出
评论列表(0条)