智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10883|回复: 2
打印 上一主题 下一主题

求一份8位机上移植ucos的实例代码

[复制链接]

1

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
116
威望
74
贡献
28
兑换币
37
注册时间
2015-12-28
在线时间
7 小时
毕业学校
合肥学院
跳转到指定楼层
1#
发表于 2017-12-15 14:35:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在mc9s08dz60上移植ucos,是从网上下载的源码,我自己在基础上建立任务,,但是程序跑一遍我建立的任务之后,无法实现调度,求解决方法
回复

使用道具 举报

282

主题

1780

帖子

1

精华

管理员

曾经的智能车人……

Rank: 11Rank: 11Rank: 11Rank: 11

积分
28420

特殊贡献奖章资源大师奖章论坛骨干奖章论坛元老奖章优秀版主奖章推广达人奖章优秀会员奖章活跃会员奖章热心会员奖章在线王奖章

QQ
威望
10441
贡献
11685
兑换币
4726
注册时间
2009-9-7
在线时间
3147 小时
2#
发表于 2017-12-15 16:42:22 | 只看该作者
你这样提问真没办法回答……
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
116
威望
74
贡献
28
兑换币
37
注册时间
2015-12-28
在线时间
7 小时
毕业学校
合肥学院
3#
 楼主| 发表于 2017-12-19 11:25:59 | 只看该作者
凌心 发表于 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();

   }

}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-25 15:28 , Processed in 0.103921 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表