仿真结果adcdre=158,但是v_low=1,应该v_middle=1才对呀。

[复制链接]
2462|4
 楼主| hxdjb 发表于 2009-4-10 14:25 | 显示全部楼层 |阅读模式
if(FADCIRQ) 
  {
   FADCIRQ =0;
   FADCIEN =0;    
   FADS  =0;                
   adcre=ADR
   if (adcre>=164) 
      {
     v_high=1;
          v_middle=0;
          v_low=0;
      }            
    else    if (adcre>=123) 
               { 
                 v_high=0;
            v_middle=1;
            v_low=0;
          }
      else                         
               {
           v_high=0                               v_middle=0;
                v_low=1;            
                }                    
    FADCIEN =1;
    FADS  =1;    //proceed adc   
 }
computer00 发表于 2009-4-10 15:33 | 显示全部楼层

后面用一下,如果后面没用,结果可能会被优化掉。

 楼主| hxdjb 发表于 2009-4-10 15:38 | 显示全部楼层

不理解“后面用一下”,能说更细一点吗?谢谢!

huangqi412 发表于 2009-4-10 15:44 | 显示全部楼层

就是你计算出这个数却没有用这个数,便宜器可能认为没有

把它优化掉。。。    你可以在后面随便用一下,这样编译器就认为这个数是有用的,不能乱优化。。。   
 楼主| hxdjb 发表于 2009-4-10 16:10 | 显示全部楼层

你说的是变量adcre吗?改成下面还不行。

    if(FADCIRQ) 
  {
   FADCIRQ =0;
   FADCIEN =0;    
   FADS  =0;                
   adcre=ADR
   if (adcre>=164) 
      {   
          temp=adcre;
          v_high=1;
          v_middle=0;
          v_low=0;
      }            
    else    if (adcre>=123) 
               { 
                 temp=adcre;
                 v_high=0;
                 v_middle=1;
                 v_low=0;
               }
           else                         
               {
                temp=adcre;
                v_high=0                             
                v_middle=0;
                v_low=1;            
                } 
    temp=adcre;              
    FADCIEN =1;
    FADS  =1;    //proceed adc   
}





参加金升阳电源设计及应用研讨会,赢取丰厚礼品!(北京站-4月10日)

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

本版积分规则

133

主题

244

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部