ucosiii消息队列实例

    xiaoxiao2026-04-13  4

    消息队列实例:

    1.4.1 创建

    创建一个可以容纳10个消息的全局消息队列.

    OS_Q        Main_Task_Q;

    OSQCreate(&Main_Task_Q,"Main_Task_Q",10,&err);

    1.4.2 挂起

    将任务挂起等待消息,以阻塞方式等待消息来为止.

    OS_MSG_SIZE nMsgSize = 0;

    u8 *pMsg = NULL;//u8为unsigned char

    CPU_TS nMsgTS;

    OS_ERR err;

    pMsg=(u8 *)OSQPend(&Main_Task_Q,0,OS_OPT_PEND_BLOCKING,&nMsgSize,&nMsgTS,&err);

    1.4.3 发送

    在一个任务中向另外一个任务发送消息,以FIFO方式放入消息队列,消息内容为”Hello_Uc/OS-III”

    OSQPost(&Main_Task_Q," Hello_Uc/OS-III ",sizeof("Hello_Uc/OS-III "),OS_OPT_POST_FIFO,&err);

    转载请注明原文地址: https://ju.6miu.com/read-1308793.html
    最新回复(0)