UcOS-II消息郵箱的使用
INT8U date;
while(1)
{
OSTimeDlyHMSM(0,0,1,0);
date=’S';
OSMboxPost(UARTBOX,date);
OSTimeDlyHMSM(0,0,2,0);
date=’B';
OSMboxPost(UARTBOX,date); //發(fā)送一個消息,注意待發(fā)送的數(shù)據(jù)是一個指針形式的就可以了.無值的指針形式可以指向任何類型數(shù)據(jù)
}
}
void os_uart_test(void *pdata)
{
INT8U senddata,ERROR;
INT8U *ss;
while(1)
{
ss=OSMboxPend(UARTBOX,0,ERROR); //等待消息的到來.并將此消息給SS這個指針
senddata=*ss; //再將此指針指向的值傳遞給SENDDATA
uart_txb(senddata);
}
}
void os_creat_all(void)
{
OSTaskCreate(os_sysinit_task,(void *)0,os_sysinit_stk[59],2); //建立一個任務(wù)
OSTaskCreate(os_ledshow_task,(void *)0,os_ledshow_stk[59],3); //再建立一個任務(wù)
OSTaskCreate(os_ideluser_task,(void *)0,os_ideluser_stk[59],4);
OSTaskCreate(os_uart_test,(void *)0,os_uart_stk[59],5);
}
評論