打印

为什么加入LOG函数就LCD不能显示了,去掉就正常显示啦?

[复制链接]
1449|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xzhenggen|  楼主 | 2007-8-10 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void change(unsigned long temp)
{
       uchar i;
       signed long  x ;
       uint y;
       x=temp;
       //y=temp;
       //y=10*0.35*(x);
       //y=10*log(x); //为什么此处加入LOG对数,LCD上就不能正常显示?去掉则正常。
       y=10*(x);
       for(i=1;i<5;i++)
       {
        if(y!=0)
        {
            serial_buff[5-i]=y%10;
            y/=10;
        }
        else 
        {
            serial_buff[5-i]=0;
        }
       } 
       if(serial_buff[1]==0)
       {        
        serial_buff[1]=12;    //空格
        if(serial_buff[2]==0)
        {
         serial_buff[2]=12;  //空格
        }
    }
}
void display_Pi() 
{
    //unsigned int Pi;
    float pow;
    //int value;
    unsigned char i;
    //Pi=read7896();
    //pow=Pi*AD_Loop_PickVol_PER;//AD采集数值
     pow=VariablePi*AD_Loop_PickVol_PER;//AD采集数值
     //pow=VariableVl*AD_Loop_PickVol_PER;//AD采集数值
    // value = pow * 100 + (value > 0 ? 0.5 : -0.5); //大于0加0.5, 小于0减0.5
    if(pow>=1)
         {
             change(pow);
             draw_bmp(96,1,8,ELAPHT[3]);//显示"d" 
             draw_bmp(104,1,8,ELAPHT[4]);//显示"B" 
             draw_bmp(112,1,8,ELAPHT[12]);//显示"W" 
        }
        else if(pow>=1e-3)
        {
            change(pow*1e3);
            draw_bmp(96,1,8,ELAPHT[3]);//显示"d" 
            draw_bmp(104,1,8,ELAPHT[4]);//显示"B" 
            draw_bmp(112,1,8,ELAPHT[11]);//显示"m" 
        }
        else if(pow>=1e-6)
        {
            change(pow*1e6);
            draw_bmp(96,1,8,ELAPHT[3]);//显示"d" 
            draw_bmp(104,1,8,ELAPHT[4]);//显示"B" 
            draw_bmp(112,1,8,ELAPHT[11]);//显示"m" 
        }
        else
         {
          change(0);
          for(i=1;i<5;i++)serial_buff=12;
         draw_bmp(96,1,8,ELAPHT[3]);//显示"d" 
         draw_bmp(104,1,8,ELAPHT[4]);//显示"B" 
         draw_bmp(112,1,8,ELAPHT[11]);//显示"m"     
             
         }
        //显示读数
      for(i = 1; i <5; i++)
       {
         draw_bmp(32+i*8,1,8,num[serial_buff]]);
      }
      
        draw_bmp(8,1,8,num[15]);//显示":"
        draw_bmp(0,1,8,ELAPHT[13]);//显示"Pi"
}

相关帖子

沙发
zoupeng139| | 2007-8-10 19:10 | 只看该作者

是不是 占用好多内存?

使用特权

评论回复
板凳
lixun00| | 2007-8-11 01:46 | 只看该作者

占用太多时间了,真的要用到,要改善算法

使用特权

评论回复
地板
xzhenggen|  楼主 | 2007-8-13 10:57 | 只看该作者

有可能是占用太多时间了,要如何做才能改善算法??

使用特权

评论回复
5
gjg191| | 2007-8-13 11:33 | 只看该作者

dd

用静态显示

使用特权

评论回复
6
xzhenggen|  楼主 | 2007-8-14 11:18 | 只看该作者

用静态可以显示,但我需换屏及动态读取ADC的数值。

使用特权

评论回复
7
gjg191| | 2007-8-14 12:13 | 只看该作者

dd

采样时间跟算数冲突了,能不能加大采样时间,要不你这log就麻烦拉,用查表法快些

使用特权

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

本版积分规则

55

主题

529

帖子

1

粉丝