使用蓝牙发送数据时,使用 tmos_msg_allocate(5);申请了内存
pMsg = tmos_msg_allocate(5);// 申请内存 if (pMsg != NULL) { pMsg[0] = 0x01; pMsg[1] = 0x02; pMsg[2] = 0x03; pMsg[3] = 0x04; pMsg[4] = 0x05; tmos_msg_send(task_id, pMsg); }
最终是不是回到回调函数
uint16_t Peripheral_ProcessEvent(uint8_t task_id, uint16_t events) { if (events & SYS_EVENT_MSG) { uint8_t *pMsg; if ((pMsg = tmos_msg_receive(Peripheral_TaskID)) != NULL) { Peripheral_ProcessTMOSMsg((tmos_event_hdr_t *)pMsg); // 处理消息 tmos_msg_deallocate(pMsg); // 释放内存 } return (events ^ SYS_EVENT_MSG); } }
通过tmos_msg_deallocate(pMsg);释放内存空间?
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU