导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[讨论]一个怪问题,大家有没有见过仿真可以,烧写到STC不行

* 97979: [讨论]一个怪问题,大家有没有见过仿真可以,烧写到STC不行

   rrrc 
rrrc发表的帖子 

 [讨论]一个怪问题,大家有没有见过仿真可以,烧写到STC不行
我有个程序,有一段一个判断在仿真器上很正常,但一写到片子里就不行,仿真器是JDT8052,片子是STC89C52RC, 请注意位变量 autest 在仿真器时 如果ad_buf[0] 大于5,autest会变成 1 ;但一写到STC89C52RC片子里,这里就操作不了,另外我发现只要对 ad_buf[x]间接操作,  x值为0-6,例如: mic_vol= mic[ad_buf[6]/6] ; 在仿真器里就正常,一写到片子里就操作无效。

整个程序编译后显示编译成功,

结果如下:
data=77.1, xdata=0, code=5494, 

  程序如下:

/**********************得到AD值****************************/
uchar idata ad_buf[7] ;
bit autest=0 ;

void adget(void)//读各电位器AD值
{

 uchar adcon ;
 P2|=0x70 ;

 if((P2&0x70)==0x70)
   {
    adcon=0 ;
    ad_start=1 ;
    P2&=adset[adno] ;
    delay(1) ;
    EA=0 ;
    ad_start=0 ;
    while(C_ADTEST==1){adcon++ ;}
    EA=1 ;
    if(ad_buf[adno]!=adcon)
      {

      ad_buf[adno]=adcon ; 

   if(adno==0)
     {
  if(ad_buf[0]>  5)autest=1 ;
  else autest=0 ;
  }     
   if(adno==1)
     {
  autreble=1 ;
        }
   if(adno==2)
     {
  aubass=1 ;
        }
      if(adno==3)
        {

        mic429=1 ;
  }
      if(adno==4)
        {
     auvollock=1 ;  
        }
   if(adno==5)
     {
  if(ad_buf[5]>  5)mictest=1 ;
  else mictest=0 ;
  }      
      }
    adno++ ;

 if(adno>  6)adno=0 ;
    }
 
  P2|=0x70 ;
}

//=======================================================

发表时间:2006年9月21日11:21:35

  
回复该帖

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

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

[上一篇帖子]:[讨论]关于共享变量和可重入函数在实际编程中的处理今天,在老古论坛上发现一篇文章,题为(部分内容如下
[下一篇帖子]:[注意]ARM9开发板看着就舒服AT91RM9200内嵌ARM920T核,带有全性能的MMU,基于高