/*QUEUE1*/
// 1DEFINE
osMessageQueueId_t queueDemo1 = NULL;
// 2INIT
queueDemo1 = osMessageQueueNew(8, sizeof(uint16_t), NULL);
// 3PUT
static uint16_t Demo1Val = 0;
extern osMessageQueueId_t queueDemo1;
Demo1Val = 0xAA;
osMessageQueuePut(queueDemo1, &Demo1Val, 0U, 0U);
// 4GET
static uint16_t Demo1Val = 0;
extern osMessageQueueId_t queueDemo1;
if (osOK == osMessageQueueGet(queueDemo1, &Demo1Val, NULL, 0U)) {
if (Demo1Val == 0xAA) { }
}
/*QUEUE1*/
/*QUEU2E*/
// 1TYPEDEF bsp.h or include.h
typedef struct {
uint16_t len;
uint8_t buf[64];
} MSG_S;
// 2DEFINE
osMessageQueueId_t queueDemo2 = NULL;
// 3INIT
queueDemo2 = osMessageQueueNew(8, sizeof(MSG_S*), NULL);
// 4PUT
static uint16_t queue_tx_sn = 0;
static MSG_S v_g_tmsg;
static MSG_S* p_g_tmsg = &v_g_tmsg;
extern osMessageQueueId_t queueDemo2;
p_g_tmsg->len = 0x10;
memcpy(p_g_tmsg->buf, staBuf, p_g_tmsg->len);
osMessageQueuePut(queueDemo2, &p_g_tmsg, NULL, 0);
test_rtt_printf(0, 0, "queueDemo2 tx len= %04d sn= %05d!\r\n", p_g_tmsg->len, ++queue_tx_sn);
// 5GET
static uint16_t queue_rx_sn = 0;
static MSG_S v_g_rmsg;
static MSG_S* p_g_rmsg = &v_g_rmsg;
extern osMessageQueueId_t queueDemo2;
if (osOK == osMessageQueueGet(queueDemo2, &p_g_rmsg, NULL, 0U)) {
test_rtt_printf(0, 0, "queueDemo2 rx len= %04d sn= %05d!\r\n", p_g_rmsg->len, ++queue_rx_sn);
}
/*QUEUE2*/