标题:
osal_msg_send( registeredKeysTaskID, msgPtr, 3 );
[打印本页]
作者:
微毫度十分个扩大飞机公婆
时间:
2007-1-26 15:55
标题:
osal_msg_send( registeredKeysTaskID, msgPtr, 3 );
在OnBoard.c中
void SendKeys( byte keys )
{
byte *msgPtr;
byte *pBuf;
// Send the address to the task
if ( osal_msg_allocate( &msgPtr, 3 ) == ZSUCCESS )
{
pBuf = msgPtr;
*pBuf++ = KEY_CHANGE; // Command ID
*pBuf++ = DetermineKeyShift();
*pBuf = keys;
osal_msg_send( registeredKeysTaskID, msgPtr, 3 );
}
}
我对osal_msg_send( registeredKeysTaskID, msgPtr, 3 );不是很清楚,斑竹能详细介绍一下它的功能?以及在上面程序中调用它之后程序下一步怎么跑?
registeredKeysTaskID似乎表明registeredKeys有TaskID,它是一个任务吗?
作者:
seuafu2005
时间:
2007-1-29 10:27
就是产生一个事件给应用层,这里是产生一个按键事件
作者:
微毫度十分个扩大飞机公婆
时间:
2007-1-29 16:04
斑竹可以把顶楼3个问题分别回答吗?谢谢!!
作者:
seuafu2005
时间:
2007-1-29 17:17
如果你对基本的系统调度事件管理的话,看不到源文件也可以看出它的作用的
osal_msg_send就是产生一个事件
至于这个之后程序怎么跑,程序就是按正常的程序返回就可以了,重新进入事件管理状态,有了事件就进行相应的操作
TaskID就是任务的名字,当然是已经存在的才可能为这个任务产生相应的事件
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0