智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3803|回复: 1
打印 上一主题 下一主题

关于ucos for DG128移植后的稳定性

[复制链接]

3

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
威望
273
贡献
174
兑换币
52
注册时间
2010-7-15
在线时间
13 小时
跳转到指定楼层
1#
发表于 2010-11-20 14:09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位,大家好!关于ucos for DG128移植后(包括中断服务的应用),一直想应用到实际当中,但是经常会碰到系统不稳定。所以一直不敢应用于实际。我现在的例子是:SCI0在中断中接收10byte的数据,接收后返回任务中再发送出去。

*****************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 20 SCI0_ISR(void){
   INT8U i;
   DisableInterrupts;               //关中断
   cnt0=TCNT;
OSIntEnter();
cnt1=TCNT;
err=SCI0ReN(10,sci0_buf);     //10个byte接收
if(err==1){
    for(i=0;i<10;i++){   
        sci0_buf[i]=4;        //错误处理
    }
}
else  OSSemPost(sci_sem);     //发送信号量

   cnt2=TCNT;
OSIntExit();   // exit interrupt and task switch
   EnableInterrupts;              //开中断
}

///////////////////////////////////////////////////////////////////////////////////////////////////

*********************************************************************/
void  TaskSCI(TASKDATA* pdata){

      int   tmp;
      pdata=pdata;
      
      
      SCI0CR2=0x2c; //enable Receive Full Interrupt,RX enable,Tx enable
      SCI0BDH=0x00; //busclk 16MHz, 9600bps,SCI0BDL=0x68
      SCI0BDL=0x9c; //SCI0BDL=busclk/(16*SCI0BDL)   
      
      for(;;){
         OSSemPend(sci_sem,0,&err);       //等待信号量
         DisableInterrupts;               //关中断  
         cnt3=TCNT;
         SCISendN(10,sci0_buf);           //把接收到的发送出去
         EnableInterrupts;              //开中断
                                                   //**************************************************
         OSTimeDly(OS_TICKS_PER_SEC);   //问题就在这里! 如延时变短,
      }                                 // 如OSTimeDly(5); 收发数据多次就容易死机。
}                                               //**************************************************



按理论来说,修改这个OSTimeDly(); 函数时间的长短是不会有稳定性的影响的,但改成OSTimeDly(5); 就很容易死机,附件是我的项目文件 和串口调试软件(这个串口调试软件是不会导致死机的,因为在没用UCOS时是很好用的),请大家研究一下!

本帖子中包含更多资源

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

x

5

主题

30

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
371
贡献
227
兑换币
19
注册时间
2011-4-23
在线时间
27 小时
2#
发表于 2011-11-1 14:42:19 | 只看该作者
回复 1# nickzmj


    请问 你最后 找出问题来了吗???
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 05:00 , Processed in 0.267225 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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