📄 osmessage.c
字号:
#include "..\ucos-ii\includes.h" /* uC/OS interface */#include "..\ucos-ii\add\OSMessage.h"OS_EVENT *OSMessage_Que; //系统消息队列void *QOSMsg[OSMessageQSize]; //系统消息队列缓冲区OS_MEM *pMessageMem;INT8U MessageMemPart[OSMessageQSize][20];void initOSMessage(){ INT8U err; OSMessage_Que=OSQCreate(&QOSMsg[0], OSMessageQSize);//创建系统的消息队列 pMessageMem=OSMemCreate(MessageMemPart,OSMessageQSize, 20, &err); if(pMessageMem==NULL){ LCD_printf("Failed to Create Message quote"); }}POSMSG OSCreateMessage(POS_Ctrl pOSCtrl, U32 Message, U32 wparam, U32 lparam){ POSMSG pmsg; INT8U err; pmsg=(POSMSG)OSMemGet(pMessageMem,&err); if(err!=OS_NO_ERR) return NULL; pmsg->pOSCtrl=pOSCtrl; pmsg->Message=Message; pmsg->WParam=wparam; pmsg->LParam=lparam; return pmsg;}U8 SendMessage(POSMSG pMsg){ if(!pMsg) return FALSE; if(OSQPost(OSMessage_Que,pMsg)==OS_Q_FULL){ DeleteMessage(pMsg); return FALSE; } return TRUE;}POSMSG WaitMessage(INT16U timeout){ INT8U err; POSMSG pMsg=(POSMSG)OSQPend(OSMessage_Que,timeout,&err); return pMsg;}void DeleteMessage(POSMSG pMsg){ if(pMsg) OSMemPut(pMessageMem,(void*)pMsg);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -