winnie 发表于 2009-3-28 14:51:34

怎么回事!

div函数得到的返回值是商和余数,我把余数搞成小数点后面的值了,且后面的处理也不对,应该如下
uchar    y, n1,x1,x2,x3;
........................................................................
      div_t a;
       a=div(y*5,255);
       x1=a.quot;
       n1=(uchar)(a.rem*100)/255; (因为是精确到小数点后面两位,所以乘上100)
       x2=n1/10;
       x3=n1/10;
(x1,x2,x3为得到的电压值)

winnie 发表于 2009-3-28 14:51:49

x3应该是 x3=n1%10;
太粗心了,n1=(uchar)(a.rem*100)/255; (因为是精确到小数点后面两位,所以乘上100)
这句应该是 n1=(uchar)(a.rem*100/255);
页: [1]
查看完整版本: 怎么回事!