| 
 
| 我在TypeDefine.h头文件中定义了一个类型,代码如下:<br />#ifndef    DATA_TYPE<br />#define    DATA_TYPE<br /><br />#define    uint    unsigned int<br />#define    uchar    unsigned char<br />#define    ulong    unsigned long<br /><br />typedef    union<br />{<br />    struct<br />    {<br />        unsigned    char    b0: 1;<br />        unsigned    char    b1: 1;<br />        unsigned    char    b2: 1;<br />        unsigned char    b3: 1;<br />        unsigned    char    b4: 1;<br />        unsigned    char    b5: 1;<br />        unsigned    char    b6: 1;<br />        unsigned    char    b7: 1;<br />    }bit_def;<br />    uchar    all;<br />}byte_def;<br /><br />#define    ubat_fault_value    108<br />#define    setbit(var,bit)    (var|=(0x01<<(bit)))<br />#define    clrbit(var,bit)    (var&=(~(0x01<<(bit))))<br />#define    checkbit(var,bit)    (var&(0x01<<(bit)))<br /><br />#define    CHNL_1    RA5=0,RA4=0,RA2=0<br />#define    CHNL_2    RA5=0,RA4=0,RA2=1<br />#define    CHNL_3    RA5=0,RA4=1,RA2=0<br />#define    CHNL_4    RA5=0,RA4=1,RA2=1<br />#define    CHNL_5    RA5=1,RA4=0,RA2=0<br />#define    CHNL_6    RA5=1,RA4=0,RA2=1<br />#define    CHNL_7    RA5=1,RA4=1,RA2=0<br />#define    CHNL_8    RA5=1,RA4=1,RA2=1<br />#define    BUZZ_RING    RC3=1<br />#define    BUZZ_OFF    RC3=0<br /><br />#define    LED_OFF    RC1=1<br />#define    LED_ON        RC1=0<br />#define    KEY            RC2<br /><br />#define    Enable_Int    GIE=1,PEIE=1<br />#define    Disable_Int    GIE=0,PEIE=0<br /><br />#define    CHARGE_OPEN        RC4<br />#define    CHARGE_SHORT        RC5<br />#define    OUT1_OPEN            RB0<br />#define    OUT1_SHORT        RB1<br />#define    OUT2_OPEN            RB2<br />#define    OUT2_SHORT        RB3<br />#define    OUT3_OPEN            RB4<br />#define    OUT3_SHORT        RB5<br />#define    OUT4_OPEN            RB6<br />#define    OUT4_SHORT        RB7<br /><br />#endif<br />在Battery Check.h头文件中声明了fault_battery、ubat、n_bat、n_fault这四个变量,代码如下:<br />#ifndef    BATTERY_DEF<br />#define    BATTERY_DEF<br /><br />#if    1==BATTERY_OP<br />#define    BATTERY_EXT<br />#else<br />#define    BATTERY_EXT    extern<br />#endif<br /><br />#include    <pic.h><br />#include    "TypeDefine.h"<br /><br />BATTERY_EXT    byte_def    fault_battery;<br />#define    fault    fault_battery.all<br />#define    f1    fault_battery.bit_def.b0<br />#define    f2    fault_battery.bit_def.b1<br />#define    f3    fault_battery.bit_def.b2<br />#define    f4    fault_battery.bit_def.b3<br />#define    f5    fault_battery.bit_def.b4<br />#define    f6    fault_battery.bit_def.b5<br />#define    f7    fault_battery.bit_def.b6<br />#define    f8    fault_battery.bit_def.b7<br /><br />BATTERY_EXT    uchar    ubat,n_bat,n_fault;<br /><br />BATTERY_EXT    void    AD_Intial(void);<br />BATTERY_EXT    void    fault_check(void);<br /><br />#endif<br />在Battery Check.c中定义这些变量:<br />#define    BATTERY_OP    (1)<br /><br />#include    "Battery Check.h"<br />#include    "Interrupt.h"<br /><br />void    AD_Intial(void)<br />{<br />    TRISA = 0x37;        //RA0,RA1,RA2,RA4,RA5:input<br />    PORTA = 0x00;<br />    ADCON1 = 0x05;    //RA0,RA1 are used as analog input,RA3 is Vref.<br />    ADCON0 = 0x40;    //A/D conversion clock is Fosc/8,Fosc=4MHz.<br />    <br />    uchar    ubat=0x00,n_bat=1,n_fault=0x00;<br />    byte_def    fault_battery=0x00;<br />}<br />编译提示:<br />Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Main.cce" "Main.c" -O"Main.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73<br />Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Battery Check.cce" "Battery Check.c" -O"Battery Check.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73<br />Error[000] E:\microchip\C Language\Battery Check.c 13 : probable missing '}' in previous block<br />Error[000] E:\microchip\C Language\Battery Check.c 15 : no identifier in declaration<br />Warning[000] E:\microchip\C Language\Battery Check.c 15 : missing basic type: int assumed<br />Error[000] E:\microchip\C Language\Battery Check.c 15 : ; expected<br />Halting build on first failure as requested.<br />BUILD FAILED: Thu Apr 12 13:42:44 2007<br />这是为什么?程序书写没有问题啊!<br />我第一次用PICC编译器,希望各位大虾指点!多谢! | 
 |