代码如下,高手们可以下载看看帮我指点哈。
#include"includes.h"
OS_STK TaskTest1[MaxStkSize+1];
OS_STK TaskTest2[MaxStkSize+1];
void StartTask(void *ppdata) reentrant;
void Task1(void *ppdata) reentrant;
sbit key1=P3^4;
sbit key2=P3^5;
INT8U err;
void main()
{
OSInit();
InitHardware();
OSTaskCreate(StartTask,(void *)0,&TaskTest1[0],0);
OSStart();
}
void StartTask(void *ppdata) reentrant
{
unsigned char sel,i;
ppdata=ppdata;
OSTaskCreate(Task1,(void *)0,&TaskTest2[0],1);
for(;;)
{
sel=0xfe;
for(i=0;i<8;i++)
{
P1=sel;
OSTimeDlyHMSM(0,0,1,0);
sel=_crol_(sel,1);
}
OSTimeDly(OS_TICKS_PER_SEC*2) ;
}
}
void TaskTest(void *ppdata) reentrant
{
ppdata=ppdata;
for(;;)
{
if(key1==0)P1=0xf0;
if(key2==0)P1=0x0f;
OSTimeDly(OS_TICKS_PER_SEC/2) ;
}
}
请问你是怎么移植的?我没看到唤醒系统服务的中断设置
淘宝小店:http://brightpoint.taobao.com
回复 板凳llpanda 的帖子
亮哥,我的程序已经打包上传了。望您有时间看哈,时钟我唤醒了,MCUSTC13C5A60S2,晶振11.0592MHZ,我在网上找了很多资料,都不成功。一个程序还可以运行,只要加上第二个任务编译就警告,说是我定义的第二个任务没有用,我用了啊但KEIL4就是警告我没有引用第二个任务函数。里面的配置我都设置好了,我也看了几个例子,编译也有警告,我估计是不是我的KEIL4安装的是不是有问题。
回复 4楼286515182 的帖子
问题是楼主用的CPU并不是我擅长的啊,我的建议是在唤醒系统服务的定时器中断中用JLINK跟踪调试,还有我建议楼主的任务优先级不要设置为0,1
淘宝小店:http://brightpoint.taobao.com
回复 5楼llpanda 的帖子
问题解决了,就是写的测试任务函数不一致,还有时钟要注意修改。不能心急,否者越急越乱啊。
回复 7楼286515182 的帖子
恭喜楼主解决问题!
淘宝小店:http://brightpoint.taobao.com
楼主可以共享一下刚刚你那个成功的60S2 UCOS吗
感谢楼主~~之前试了上十个例程都是错的 终于找到正确的代码了~~谢谢!!
改成 void Task1(void *ppdata) reentrant