zoukankan      html  css  js  c++  java
  • 消息队列

    设计一个嵌入式系统,未使用操作系统,在主循环中依次调用各个任务,使用消息来实现不同任务之间的数据交互,定义任务消息结构体的格式如下

     1 #define MESSAGE_NUM_MAX 20
     2 #define MESSAGE_DATA_LEN_MAX 1024
     3 
     4 #pragma pack(1)
     5 typedef struct{
     6 BYTE status;//消息是否有效,1=USING,0=FREE
     7 BYTE pre;//上一个消息的序号
     8 BYTE next;//下一个消息的序号
     9 BYTE src_modid;//源任务ID号
    10 BYTE dest_modid;//目标任务ID号
    11 WORD16 len;//数据长度
    12 BYTE data[MESSAGE_DATA_LEN_MAX];//数据区域
    13 }MESSAGE_UNIT;
    14 
    15 typedef struct{
    16 BYTE message_count;//消息队列数量
    17 BYTE message_head;//执行读操作的头
    18 BYTE message_tail;//执行写操作的头
    19 MESSAGE_UNIT message[MESSAGE_NUM_MAX];
    20 }MESSAGE_QUEUE;
    21 #pragma pack()

     最终定义了MESSAGE_QUEUE msg_que,其中元素message_head是读操作头,message_tail是写操作头,

  • 相关阅读:
    hdu_1072_Nightmare(BFS)
    hdu_4826_Labyrinth_2014百度之星(dp)
    hdu_4823_Energy Conversion
    hdu_3063_Play game
    hdu_3062_Party(2-SAT)
    5、1 部署
    klayge 4.2.0 编译vc9
    数据延迟加载
    指令 scope
    指令 作用域
  • 原文地址:https://www.cnblogs.com/codecamel/p/5181409.html
Copyright © 2011-2022 走看看