d_buf的值是如何设置的?????

panshiowen   2008-12-30 21:12 楼主
void handle(void)
{
   uint y;
   if(f_d12)
   {
      if(!F_S1) isv=0;
      else  isv=1;
      if(!isv)
      {
         if(!F_S4)
             d_buf[8]=0x8a;
         else
             d_buf[8]=0x0a;
         y=fcnt;
         if(y<1000)
          {
             d_buf[9]=0x13;
             d_buf[10]=0x13;
             d_buf[11]=y/100;
             y=y%10;
             d_buf[12]=y/10;
             y=y%10;
             d_buf[13]=y;
          }
          else
          {
              d_buf[9]=0x13;
              d_buf[10]=y/1000;
              y=y%1000;
              d_buf[11]=y/100;
              y=y%100;
              d_buf[12]=y/10;
              y=y%10;
              d_buf[13]=y;
          }
      }
      else
       {
         if(!F_S4)
            d_buf[8]=0x8b;
         else
            d_buf[8]=0x0b;
         y=fcnt*12;
         if(y<1000)
            {
               d_buf[9]=0x13;
               d_buf[10]=0x13;
               d_buf[11]=y/1000;
               d_buf[11]=d_buf[11]|0x80;
               y=y%1000;
               d_buf[12]=y/100;
               y=y%100;
               d_buf[13]=y/10;
            }
            else
            {
               d_buf[9]=0x13;
               d_buf[10]=y/10000;
               y=y%10000;
               d_buf[11]=y/1000;
               d_buf[11]=d_buf[11]|0x80;
               y=y%1000;
               d_buf[12]=y/100;
               y=y%100;
               d_buf[13]=y/10;
            }
       }
   }
    else
     {
        if(!F_S1) isv=0;
        else isv=1;
         
           if(!isv)
            {
               if(!F_S4)
                   d_buf[2]=0x8a;      
               else
                   d_buf[2]=0x0a;      
               y=tt;
               if(y<1000)
               {
                   d_buf[3]=0x13;
                   d_buf[4]=0x13;

                   d_buf[5]=y/100;
                   y=y%100;
                   d_buf[6]=y/10;
                   y=y%10;
                   d_buf[7]=y;
               }
               else
               {
                   d_buf[3]=0x13;

                   d_buf[4]=y/1000;
                   y=y%1000;
                   d_buf[5]=y/100;
                   y=y%100;
                   d_buf[6]=y/10;
                   y=y%10;
                   d_buf[7]=y;

               }
            }
            else
            {
               if(!F_S4)
                   d_buf[2]=0x8b;
               else
                   d_buf[2]=0x0b;
               y=tt;
               if(y<10000)
               {
                   d_buf[3]=0x13;      /*?¨??*/
                   d_buf[4]=0x13;
                   d_buf[5]=y/1000;
                   d_buf[5]=d_buf[5]|0x80;            /*????????,???????ó??2??*/
                   y=y%1000;
                   d_buf[6]=y/100;
                   y=y%100;
                   d_buf[7]=y/10;
               }
               else
               {
                  d_buf[3]=0x13;                     /*?¨??*/   
                  d_buf[4]=y/10000;
                  y=y%10000;
                  d_buf[5]=y/1000;
                  d_buf[5]=d_buf[5]|0x80;              
                  y=y/1000;
                  d_buf[6]=y/100;
                  y=y/100;
                  d_buf[7]=y/10;
               }
            }
               
     }
}




谁能帮忙说一下if(!F_S4)
                   d_buf[2]=0x8a;      
               else
                   d_buf[2]=0x0a;
是如何设置的,有什么作用呀??/


还有这一部分如何理解呀??/
else
            d_buf[8]=0x0b;
         y=fcnt*12;
         if(y<1000)
            {
               d_buf[9]=0x13;
               d_buf[10]=0x13;
               d_buf[11]=y/1000;
               d_buf[11]=d_buf[11]|0x80;
               y=y%1000;
               d_buf[12]=y/100;
               y=y%100;
               d_buf[13]=y/10;
            }

回复评论 (6)

你的程序是用来干嘛的?

————————————————————这个程序很多作用,不明白你所用的场合。
你的代码很简单啊。无非是数组赋值,等等。
点赞  2008-12-30 22:56
没有注释的代码,或是注释不恰当的代码,不是代码

一文不值
点赞  2008-12-31 09:25
不懂,帮顶
点赞  2008-12-31 10:01
不懂,帮顶
点赞  2008-12-31 10:01
数据处理函数(对采样数据的处理)
     根据适用的不同量程,有关参数是不同的,采用宏常数形式。电流0~1000A,对应电压
     为0~5V,对应频率为:0~5000HZ,因此:i=f*0.2而f=D/T,D为计数值,T为闸门时间(采样周期),这里为0.2ms,
     故i=d,电压0~12V,对应电压为0~5V,对应的频率为:0~5000HZ,因此:v=f*0.0024而f=D/T,D为计数值,T为闸门时间
     ,这里为0.2ms。
   d_buf在这里边是只一个数组么?为什么没有定义呀?它的值又是怎么设置的呀?
点赞  2008-12-31 13:55
不是数组是什么?要么是个指针了。
没有定义就自己给他定义呗。
点赞  2009-1-4 16:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复