导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→各位仁兄,随能帮我调通这个程序

* 55421: 各位仁兄,随能帮我调通这个程序

   yuxiang5401 
yuxiang5401发表的帖子 

 各位仁兄,随能帮我调通这个程序
各位仁兄,谁能帮我调通这个程序:我的这个程序是用keil c51编写的,在调试过程中,程序常常莫名其妙的调至非法代码空间(我用的芯片是AT89S52),并且错误通常产生在浮点数运算之后。由于毕业答辩提前,小弟万分着急,恳请各位仁兄帮忙,由于帖子的字数限制,我只能提供常出现错误的子程序。如果那位大哥有心帮我这个忙,请发邮件到我的信箱,我会尽快给你把源代码给发过去。我的邮箱地址是:yuxiang5401@sina.com

unsigned int get_tp(unsigned int j,unsigned int n,unsigned int tc,unsigned int f)
{    
   float kconst;
   unsigned int Um;

//====================calculate Um=======================//
  
  Um=PARA_SET[4];
  if(f  <PARA_SET[0])
   {Um=(Um-UP_VOLTAGE)*10/PARA_SET[0];    //mutiply 10 to avoid float calculation and to make sure accuracy 
     Um=Um*f/10;                    //calculate seperately to avoid overflow 
  } 
//==================================
  kconst=2*3.1415926*f*PARA_SET[4];
  switch(n)
    {case 24:
      { TAB_pointer=table67_80;
      break;
    }
     case 30:
   { TAB_pointer=table56_66;
       break;
    } 
  case 36:
   { TAB_pointer=table42_55;
      break;
    }
  case 48:
     { TAB_pointer=table34_41;
      break;
    }   
  case 60:
     { TAB_pointer=table26_33;
      break;
   } 
  case 78:
     { TAB_pointer=table20_25;
      break;
    }   
  case 102:
     { TAB_pointer=table15_19;
      break;
    }
  case 138:
     { TAB_pointer=table11_14;
      break;
    }
  case 198:
     { TAB_pointer=table7_10;
      break;
    }
  case 330:
     { TAB_pointer=table0_6;
      break;
    }
  default:
     break;
  }//end switch
  if(j>  (n/2))
     j=j-n/2;
  kconst=*(TAB_pointer+j)/kconst;
  Um=(unsigned int)((tc+((float)Um)*kconst)/2.0);//错误常在这句程序之后产生。
  return(Um);  
}  




发表时间:2004年5月26日17:43:57

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:keil c51 求助!!!sfr,sfr16是可以在整个256空间都可以定义,
[下一篇帖子]:音乐彩灯中的电子分频器设计__请高手指教图中不足之处,音乐彩灯中的电子分频器设计__请高手指教图中不