我一直有一些问题,我正在运行几个任务。我有三个任务,其中一个是LCD更新任务,另外两个是电机驱动任务。我还有两个ISR将消息发布到两个电机驱动程序任务中。至于传递指针安全,我在想创建一个结构:实时操作系统 - 通过分配一个结构并传递它通过一个队列
typedef struct message{
enum BUTTON_1 = 0, BUTTON_2 = 1, NO_BUTTON = 3; //button ISR to increase motor drive
int timestamp; //A timestamp for the RPM of the motors
}
现在,共享内存的问题进来,所以我想:
struct message* update_msg = (struct message*)malloc(sizeof(struct message)); //from here I dont know how to creat an object that fills the space allocated.
我会再发指针通过队列的结构:
OSTASKQPOST((void *)(st_size)
....
)
在最后一次任务后最终得到的消息,并做它需要与成员变量是什么,我将不得不解除分配内存。
free(st_size)
会是这样的似是而非?