- 打卡等级:以坛为家II
- 打卡总天数:432
- 最近打卡:2025-05-01 16:19:56
荣誉版主
- 积分
- 4263
|
发表于 2024-11-3 15:41:55
|
显示全部楼层
1、创建队列时,队列名称 就是 该队列控制块的名称。
/* 创建静态消息队列 */
#define sCSV_CreateQueue(name, mode, len) \
void *u_queue_##name[len]; \
ss_queue_ts name = {0, __STATIC__, mode, len, OS_NULL, true, u_queue_##name, u_queue_##name + len - 1, u_queue_##name}
/* 创建动态消息队列 */
#define dCSV_CreateQueue(name, mode, len) \
sd_queue_ts name = {0, __DYNAMIC__, mode, len, OS_NULL, true, OS_NULL, OS_NULL}
2、访问队列时,队列名称取址再转换为 s_queue_tsp 类型,便可访问队列控制块,无论是静态还是动态皆可。
/* 接收消息 */
#define uRecvMsg(que, tc) sUSV_RecvMsg((s_queue_tsp)&que, tc)
/* 发送消息 */
#define uSendMsg(que, msg) sUSV_SendMsg((s_queue_tsp)&que, msg)
|
|