打印

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

[复制链接]
1822|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 | 只看该作者

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

把它优化掉。。。    你可以在后面随便用一下,这样编译器就认为这个数是有用的,不能乱优化。。。   

使用特权

评论回复
5
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日)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

131

主题

242

帖子

2

粉丝