智能车制作
标题:
求一份8位机上移植ucos的实例代码
[打印本页]
作者:
zhaojinging302
时间:
2017-12-15 14:35
标题:
求一份8位机上移植ucos的实例代码
我在mc9s08dz60上移植ucos,是从网上下载的源码,我自己在基础上建立任务,,但是程序跑一遍我建立的任务之后,无法实现调度,求解决方法
作者:
凌心
时间:
2017-12-15 16:42
你这样提问真没办法回答……
作者:
zhaojinging302
时间:
2017-12-19 11:25
凌心 发表于 2017-12-15 16:42
你这样提问真没办法回答……
抱歉,新手,附件是我的源码,我粘了一部分,现在还是只执行一遍,程序就不知道跑到哪里去了,麻烦有空的话,帮我看一下,void
main(void) {
OS_CPU_SR cpu_sr=0; //,临界中断函数使用前需要定义;
DisableInterrupts; // disable interrupts
MCGInit();
Timer1Init1();
/* include your code here */
PTBDD_PTBDD5= 1;
PTADD_PTADD6 = 1; //LED1
EnableInterrupts; // enable interrupts
OSInit(); // Initialize uC/OS
/* Create tasks below */
//(void)OSTaskCreate(Task1,(void *)0, &Task1STK[127],2);
// (void)OSTaskCreate(Task2,(void *)0, &Task2STK[127],3);
OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO); //创建开始任务 //
//(void)OSTaskCreate(Task4, (void *)0, &Task2STK[127], 6);
OSStart();
for(;;)
{
}
}
void start_task(void *pdata)
{
pdata = pdata;
OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);//创建LED0任务
OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);//创建LED1任务
OSTaskSuspend(START_TASK_PRIO);//挂起开始任务
for(;;)
{
}
}
void led0_task(void *pdata)
{
pdata = pdata;
for(;;)
{
OSTimeDly(100); //add user application codes
PTBD_PTBD5 = ~PTBD_PTBD5;
g_ubcount1++;
}
}
void led1_task(void *pdata)
{
pdata = pdata;
for(;;)
{
OSTimeDly(100);
PTAD_PTAD6 = ~PTAD_PTAD6;
g_ubcount++;
}
}
void interrupt 25 ISR_Vrtc (void)
{
if((RTCSC & 0x80)==0x80)
{
RTCSC_RTIF = 1;
OSTickISR();
}
}
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2