消息队列是进程间通信的一种方式。
== 首先介绍下消息盒子在单片机中的代码实现==

#include<stdio.h>
struct message_t
{int integer;int decimal[32];
};
struct message_t message;/** 32位位码 */
int  Bit_Map32[32] =
{0x00000001, 0x00000002, 0x00000004, 0x00000008,0x00000010, 0x00000020, 0x00000040, 0x00000080,0x00000100, 0x00000200, 0x00000400, 0x00000800,0x00001000, 0x00002000, 0x00004000, 0x00008000,0x00010000, 0x00020000, 0x00040000, 0x00080000,0x00100000, 0x00200000, 0x00400000, 0x00800000,0x01000000, 0x02000000, 0x04000000, 0x08000000,0x10000000, 0x20000000, 0x40000000, 0x80000000,
};
int put_message(int message_id)
{message.integer |= Bit_Map32[message_id / 32];message.decimal[message_id / 32] = message_id % 32;
}int get_message(struct message_t *message)
{int message_id = 0;//消息号默认为0int temp = 0;int  i = 0;if (message->integer & 0xFF) //当有消息是都要处理。{   for (i = 0; i < 256; i++){if (message->integer & Bit_Map32[i]){temp = i;temp <<= 5;message->integer &= ~Bit_Map32[i];return message_id = temp + message->decimal[i];}}}return message_id;
}int main()
{int msg1 = 6;int msg2 = 254;int msg = 0;put_message(msg1);//输入消息号put_message(msg2);//输入消息号//输出所有的消息号while ((msg = get_message(&message)) != 0){printf("%d\n", msg);}system("pause");return 0;
}

消息队列在linux下实现进程间的通信;消息盒子在单片机中的代码实现相关推荐

  1. linux 环境下的进程间的通信——消息队列传输结构体

    linux 环境下的进程间的通信方式主要有:管道,有名和无名管道, 这种方式适用于具有亲缘关系的进程之间的通信: 信号: 消息队列: 共享内存: 信号量: 套接字: 这次主要涉及消息队列: 1. 需要 ...

  2. Linux之本地进程间Socket通信

    文章目录 一.Sokcet 二.Sokcet API (一).sockaddr 结构: (二).struct socketaddr_in : (三).Struct socketaddr_un (四). ...

  3. 深刻理解 Linux 进程间七大通信(IPC)

    前言 网络编程是 Linux C/C++的面试重点,今天我就来聊一聊进程间通信的问题,文章末尾列出了参考资料,希望帮助到大家. 篇幅有点长,希望大家耐心阅读. Linux 下的进程通信手段基本上是从 ...

  4. linux 消息队列_Linux进程间通信第六讲 标准IPC之消息队列

    来源CSDN: CSDN-专业IT技术社区-登录​blog.csdn.net 一.概念和原理 消息队列是另一种标准IPC,当然也大概遵循大部分标准 消息队列,它是存放消息(数据)的队列,而队列是先进先 ...

  5. Linux进程间通讯之消息队列

    首先有个大体的概念:http://www.xefan.com/archives/83703.html 头文件: #include <sys/ipc.h> #include <sys/ ...

  6. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  7. Linux第二次试验:Linux下的进程通信实验

    Linux第二次试验:Linux下的进程通信实验 前言 一.实验目的 二.实验工具与设备 三.实验预备知识 三.实验内容和步骤 五.实验代码及步骤截图 六.实验总结 前言 为了帮助同学们完成痛苦的实验 ...

  8. 【C/C++ Windows编程】Windows系统消息、Qt消息事件、linux下kill信号

    Windows系统消息 文章目录 Windows系统消息 前言 一.什么是窗口? 二.什么是消息? 消息分类: windows消息机制架构图: 函数说明 消息结构体 GetMessage Transl ...

  9. linux下的进程创建,Linux下进程的创建

    这篇文章主要是讲解到Linux进程的控制,包括程序和进程.守护进程.守护进程的出错处理. 1.程序和进程 程序(program)是存放在磁盘文件中的可执行文件,程序的执行实例被称为进程(process ...

  10. Linux下不同服务器间数据传输

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

最新文章

  1. MVC - 17.OA项目
  2. 面试官问:能否模拟实现JS的new操作符
  3. mysql crc16_MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误
  4. js detect the type of device
  5. hp ux安装oracle 11g,HP UX安装oracle 11g asm扫不到盘
  6. asp.net core发布后无法访问
  7. 51nod 1051 最大子矩阵和 【最大子段和DP变形/降维】
  8. rest风格使用两个变量_SpringBoot2.x系列教程|构建RESTful风格的API接口
  9. linux管理进程的数据结构,Linux 进程运行的各项指标的监测和一些管理命令的应用...
  10. bertram_Bertram
  11. 米勒拉宾算法——素性测试
  12. 服务器安装系统要如何载入驱动程序,Dell 服务器安装Windows 2008 R2时手动加载阵列卡驱动...
  13. 20230326作业
  14. 保险私有云 IaaS 资源池选型与演进之路 | SmartX 客户实践
  15. 电子合同印章大小和位置调整
  16. 微信小程序如何转云开发
  17. @Component与@Configuration区别
  18. IDEA推送项目到gitee上,拉取gitee项目到IDEA中
  19. 安卓远程连接linux软件,推荐Windows、Linux安卓远程软件
  20. 【剑指Offer】个人学习笔记_46_把数字翻译成字符串

热门文章

  1. LaTeX中实心圆点列表的一点经验
  2. 小学-知识与能力【7】
  3. 计算机用word做贺卡,运用Word制作电子贺卡教学设计
  4. 2021年等保2.0工作必须了解的40个问题汇总
  5. 主页被锁定为 hao.360.cn
  6. 海底捞无人餐厅上线,万人失业潮又要到来?
  7. css3中transform:translateY之后文字模糊的原因
  8. mysql查询之左连接查询与右连接查询
  9. java路径的上一级_java路径两种写法/和\\以及 ./和../以及/之间的区别?
  10. python制作气温分布图_基于Python的多种形式气温分布图自动绘制