问题:消息缓冲区发送失败
现象:
1、创建消息缓冲区成功,xBufferSizeBytes设置为8;
MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes );
2、发送失败
xBytesSent = xMessageBufferSend(UartToLed_MBHandle_t, Led_Control_Buf,8, 100);
原因:消息缓冲区创建时的xBufferSizeBytes 参数表示:需要发送的消息字节+额外的 sizeof( size_t ) 字节(存储消息的长度), sizeof( size_t ) 在 32 位架构上的大小通常是 4 个字节,因此在大多数 32 位架构中,10 字节的消息将占用 14 字节的 消息缓冲区空间。在创建消息缓冲区是只注意了消息字节的空间,未注意表示长度的空间,导致发送失败
标签:字节,FreeRTOS,xBufferSizeBytes,发送,消息,缓冲区,size From: https://www.cnblogs.com/yianyan/p/18009124