本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
我在多任务开始前,先建立了任务TaskA(),多任务开始后,TaskA开始运行,在任务A内部的无限循环中
,设置一个变量 tempi 自加,当tempi ==100时,建立任务TaskC。
遇到的问题是:tempi 每次自加到60后,会重新变成1再开始自加,不明白其中的原因,请各位高手指教
一下!!谢谢
void main( void )
{
init_clk();
PCA0MD = 0x00;
init_port();
Uart0_Init();
Timer0_Init();
OSInit();
OSTaskCreate(TaskA,0,TaskStartStkA,4);
//OSTaskCreate(TaskB,0,TaskStartStkB,5);
//OSTaskCreate(TaskC,0,TaskStartStkC,6);
OSStart();
}
void TaskA(void *pdat) reentrant
{
INT8U tempi = 0;
INT8U temp[5] = "000\n";
pdat=pdat;
for(;;){
if(tempi < 200)
{
tempi++;
}
temp[0] = tempi/100 + 0x30;
temp[1] = (tempi%100)/10 + 0x30;
temp[2] = tempi%10 + 0x30;
Uart0_Send(temp,5);
if(tempi == 100)
{
OSTaskCreate(TaskC,0,TaskStartStkC,6);
}
OSTimeDly(1*OS_TICKS_PER_SEC);
}
}
串口调试助手上的输出如下:
...
053
054
055
056
057
058
059
060
001
002
003
004
005
006
007
008
009 |