⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.c

📁 电子称重的程序
💻 C
字号:
#include<config.h>
#include<head.h>
#define MSGLEN   10
MSG     idata msgbuf[MSGLEN];
Uchar   msgbufwp=0,msgbufrp=0;
void MessageInit()
{
 char i;
 for(i=0;i<MSGLEN;i++)
   msgbuf[i].message=0;
}
/**************************************************************************
*      函数原型:void SysPostMessage(char message,char param,char  mode);
*      功    能:发送消息。
*      入    口: 消息类型,消息值
**************************************************************************/
void SysPostMessage(char message,char param,char  mode)
{
 char   i;
 if(mode==1)
  {
    for(i=0;i<MSGLEN;i++)
       if(msgbuf[i].message==message)
       {
         msgbuf[i].param+=param;
         return;
       }
 }
 msgbuf[msgbufwp].message=message;
 msgbuf[msgbufwp++].param=param;
 if(msgbufwp>=MSGLEN)msgbufwp=0;
}
/**************************************************************************
*      函数原型:void PostMessageOne(char message,char param);
*      功    能:发送一次性消息。
*      入    口: 消息类型,消息值
**************************************************************************/
void PostMessageOne(char message,char param)
{
 SysPostMessage(message,param,1);
}
/**************************************************************************
*      函数原型:void PostMessageOne(char message,char param);
*      功    能:发送一次性消息。
*      入    口: 消息类型,消息值
**************************************************************************/
void PostMessage(char message,char param)
{
 SysPostMessage(message,param,0);
}
/**************************************************************************
*      函数原型:void GetMessage(MSG *msg);
*      功    能:接收消息消息。
*      入    口: 消息结构的地址
*      出    口: 成功获得信息为1,没有获得信息为0
**************************************************************************/
BOOL GetMessage(MSG *pMsg)
{
    Uchar i,j;

    for(i=0;i<MSGLEN;i++)
    {
     j=(i+msgbufrp)%MSGLEN;
     if(msgbuf[j].message)
     {
      pMsg->message=msgbuf[j].message;
      pMsg->param=msgbuf[j].param;
      msgbuf[j].message=0;
      if(++msgbufrp>=MSGLEN)msgbufrp=0;
      return 1;
     }
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -