我是使用ZLG移植的UC/OS-II V2.52.我使用<br />err = OSTaskCreateExt(task1,&i,&task_stack[TASK_STACK_SIZE-1],i,i,task_stack,<br /> TASK_STACK_SIZE,(void *)NULL,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);<br />函数生成一个任务,其中OSTaskCreateExt()的第二个参数void *pdata指向 &i,而i是一个unsigned char 型的变量,其值从2-9。但是在<br />void task1(*pdata)任务中,发现*pdata并非我在OSTaskCreateExt()中给的数据。<br />我在task1(void *pdata)中是这样使用*pdata的:<br /> char taskid[3]; <br /> <br /> taskid[0] = *(char *)pdata;<br /> taskid[0] = taskid[0] + '0';<br /> taskid[1] = '\n';<br /> taskid[2] = '\0';<br />然后将taskid打印出来。<br /><br />这是什么原因引起的? |
|