TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678 如何通过msgQ发送数据

看例程里面,只有对message的allocate,和发送,为什么没有见到对message的内容进行定义的过程?

例如:core0需要把一个数组发送给core1,使用msgQ的情况下,需要用这个数组来初始化heap中的message吗?

littleWhite:

有专家帮我解决下吗,谢谢了!

yaohui wang1:

回复 littleWhite:

typedef struct{

   MessageQ_MsgHeader header;

   ……  

 your defines

  ……

}Mymsg

littleWhite:

回复 yaohui wang1:

请问之后是这样操作吗:

typedef Mymsg  *MessageQ_Msg;

MessageQ_Msg  msg;

 msg = MessageQ_alloc (HEAP_ID, SIZE_OF_MY_MESSAGE);

msg->my_define = 123;

MessageQ_put(QueueId, msg);

yaohui wang1:

回复 littleWhite:

这样做应该没有问题

yaohui wang1:

回复 littleWhite:

我试了一下   这样想要编译通过 需要去修改头文件中结构体的定义

代价比较大

最好还是用Ti原来的MessageQ_Msg  msg;

在堆中申请空间的时候 alloc(sizeof(MyMsg));

强制类型转换一下 (MyMsg*)msg

GJ Z:

回复 yaohui wang1:

你好,有个问题想向大家请教OMAP-L138的ARM内核和DSP内核MSGQ通信问题。

我想使用MSGQ使ARM内核(运行Linux系统)传输一些函数参数(例如 )给DSP端,DSP端根据传消息的内容判断所要执行的函数。然后DSP运行相关函数,进行对外设的控制。

由于会有好多函数,我想通过建立几个自定义的结构体,两者传输结构体。这样处理起来会比较方便。 我有以下问题,还请指教:

1.这种传输结构体的方法可行吗?

2.由于每个结构体的成员不一样,接收的时候如何判断是哪个结构体呢?

3.上面说的  强制类型转换一下 (MyMsg*)msg    对自定义结构体成员变量的类型有没有什么限制?

赞(0)
未经允许不得转载:TI中文支持网 » C6678 如何通过msgQ发送数据
分享到: 更多 (0)