邮箱传递的消息,所使用的缓冲区,可不可以在任务内部定义.<br /><br />//向打印任务传送的打印数据格式<br />typedef struct{<br /> unsigned char px; /* x 坐标 */<br /> unsigned char py; /* y 坐标 */ <br /> unsigned char *pdata; /*目标数据首地址 */ <br />}DISP_DATA;<br /><br />//-------------------------> buf2可不可以定义在task2任务内部<br />INT8U buf2[100] = "This is sent from Task2!";<br /><br />//-----------------------<br />//函数作用:task2 测试任务<br />//入口参数:无<br />//出口参数:无<br />//备 注:无<br />//-----------------------<br />void Task2(void * pParam)<br />{<br /> INT8U err; <br /> DISP_DATA DispDataT2;<br /><br /> while(1) <br /> {<br /> DispDataT2.px = 28;<br /> DispDataT2.py = 4;<br /> DispDataT2.pdata = buf2;<br /> <br /> OSMboxPost(MboxDispData, (void *)&DispDataT2);<br /> OSTimeDlyHMSM(0,0,2,333);<br /> }<br />}<br /><br />//-----------------------<br />//函数作用:Task4Print 打印任务<br />//入口参数:无<br />//出口参数:无<br />//备 注:接受其他任务要求打印的数据,打印到屏幕上.<br />//-----------------------<br />void Task4Print(void * pParam)<br />{<br /> INT8U err, cnt;<br /> DISP_DATA *pDispData;<br /> <br /><br /> while(1) <br /> {<br /> <br /> pDispData = OSMboxPend(MboxDispData, 0, &err);<br /> <br /> for(cnt=0; cnt<pDispData->px; cnt++)<br /> {<br /> printf(" ");<br /> }<br /> printf("%s
", pDispData->pdata); <br /><br /> }<br />}<br /><br /><br /> |
|