找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3294|回复: 8
收起左侧

001.C(2): error C129: missing ';' before 'disp_value'

[复制链接]
ID:190848 发表于 2017-4-20 18:42 | 显示全部楼层 |阅读模式
#include<reg52.h>
extern uchar disp_value[5];
extern uchar key_number;
extern uchar code  DC_disp3[];
uchar code AC_disp[]="AC VOL Measure ";
uchar code AC_disp2[]="value=        ";
void AC_VOL_measure(void)                                //交流电压测量函数
{
                uchar  ADTemp,num;
                float ValueTemp;
                WriteCom(0x01);                                                        //清屏
              WriteCom(0x80);                                                    //显示
                for(num=0;AC_disp[num]!='\0';num++)
                {
                        WriteData(AC_disp[num]);                         
                        Delay(10);       
                }
                WriteCom(0x80+0x40);                                   //显示
                for(num=0;AC_disp2[num]!='\0';num++)
                {
                        WriteData(AC_disp2[num]);                         
                        Delay(10);       
                }               
                       
                do{                                                                     
                             s1=0;                                         //选择200v最高档
                            s2=0;
                            s3=1;
                                Delay(50);
                ADTemp=ADSample(AC_VOL_adder);               
                if(ADTemp>253)                                          //当超过量程时,显示为1
                {         WriteCom(0x80+0x46);                                //显示
                        for(num=0;DC_disp3[num]!='\0';num++)
                        {
                                WriteData(DC_disp3[num]);
                                         Delay(10);
                        }
                }         
                else                
                        {
                        ValueTemp=ValueConver(ADTemp);         //测量的电压值转换         
                    ValueTemp=ValueTemp*100;                 //电压值乘以档位         
                                FloatToChar(ValueTemp);                 //电压值转换为字符串
                           WriteCom(0x80+0x46);                        //第二行显示电压值         
                                for(num=0;num<6;num++)
                                {
                                        WriteData(disp_value[num]);                         
                                        Delay(10);       
                                }
                         WriteData('V');
                        WriteData(' ');                               
                       
                        }
                                                                                                           
                }  while((ADTemp>20)&&(key_number==2));

                 do
                {                                                                                  
                            s1=0;                                                   //选择20v档
                            s2=1;
                            s3=0;
                                Delay(50);                                                 
                ADTemp=ADSample(AC_VOL_adder);             //起动AD进行采样
                ValueTemp=ValueConver(ADTemp);                 //AD进行转换
                ValueTemp=ValueTemp*10;                                 //电压乘以档位         
                FloatToChar(ValueTemp);                                 //电压转换为字符串
             WriteCom(0x80+0x46);                                 //第二行显示所测电压值
                for(num=0;num<5;num++)
                {
                        WriteData(disp_value[num]);
                                 Delay(10);
                }
                WriteData('V');
                WriteData(' ');                                         
            } while((ADTemp>24)&&(ADTemp<253)&&(key_number==2));       
do
           {
                            s1=1;                                                //选择2V档
                            s2=0;
                            s3=0;
                                Delay(50);
                ADTemp=ADSample(AC_VOL_adder);                //起动AD进行采样
                ValueTemp=ValueConver(ADTemp);                 //电压值转换为字符串
        FloatToChar(ValueTemp);
           WriteCom(0x80+0x46);
                for(num=0;num<5;num++)
                {
                        WriteData(disp_value[num]);
                        Delay(15);       
                }
                WriteData('V');       
                WriteData(' ');
         } while((ADTemp<253)&&(key_number==2));

}


001.C(2): error C129: missing ';' before 'disp_value'


怎么解决?
回复

使用道具 举报

ID:157057 发表于 2017-4-20 19:01 | 显示全部楼层
文件不全,需要贴全代码
回复

使用道具 举报

ID:190848 发表于 2017-4-20 19:08 | 显示全部楼层
fefen0 发表于 2017-4-20 19:01
文件不全,需要贴全代码

能帮忙修改一下吗
回复

使用道具 举报

ID:151348 发表于 2017-4-20 19:42 | 显示全部楼层
#define uchar unsigned char
回复

使用道具 举报

ID:190848 发表于 2017-4-20 20:37 | 显示全部楼层
imxuheng 发表于 2017-4-20 19:42
#define uchar unsigned char

加在哪一行
回复

使用道具 举报

ID:151348 发表于 2017-4-20 21:14 | 显示全部楼层

#include<reg52.h>
#define uchar unsigned char
extern uchar disp_value[5];
回复

使用道具 举报

ID:190848 发表于 2017-4-20 21:27 | 显示全部楼层
imxuheng 发表于 2017-4-20 21:14
#include
#define uchar unsigned char
extern uchar disp_value[5];

然后就变成这个样子了
#include<reg52.h>
#define uchar unsigned char
extern uchar disp_value[5];
extern uchar key_number;
extern uchar code  DC_disp3[];
uchar code AC_disp[]="AC VOL Measure ";
uchar code AC_disp2[]="value=        ";
void AC_VOL_measure(void)                                //交流电压测量函数
{
                uchar  ADTemp,num;
                float ValueTemp;
                WriteCom(0x01);                                                        //清屏
              WriteCom(0x80);                                                    //显示
                for(num=0;AC_disp[num]!='\0';num++)
                {
                        WriteData(AC_disp[num]);                         
                        Delay(10);       
                }
                WriteCom(0x80+0x40);                                   //显示
                for(num=0;AC_disp2[num]!='\0';num++)
                {
                        WriteData(AC_disp2[num]);                         
                        Delay(10);       
                }               




001.C(12): warning C206: 'WriteCom': missing function-prototype
001.C(12): error C267: 'WriteCom': requires ANSI-style prototype
回复

使用道具 举报

ID:190848 发表于 2017-4-20 21:40 | 显示全部楼层
imxuheng 发表于 2017-4-20 21:14
#include
#define uchar unsigned char
extern uchar disp_value[5];

001.C(12): warning C206: 'WriteCom': missing function-prototype
001.C(12): error C267: 'WriteCom': requires ANSI-style prototype


又出现了这种情况
回复

使用道具 举报

ID:111634 发表于 2017-4-20 21:41 | 显示全部楼层
uchar未定义就先用,错。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表