我将PIC16F886与高科技编译器9.60一起使用。下面是我尝试编译的代码。 如果我使用的是下面的免费版本的编译器v9.86,则可以正确编译并正常工作。 如果我使用的是Pro版本的v 9.60编译器,那我会得到一个错误。错误附在下面。如何摆脱这个问题。应该如何声明变量。
#include <pic.h>
#include <htc.h>
#include "delay.h"
__CONFIG(INTIO & WDTEN & PWRTEN & MCLREN & UNPROTECT & BOREN & IESODIS & FCMDIS & LVPDIS & DEBUGDIS);
__CONFIG (BORV40 & WP2);
//__EEPROM_DATA(0,0,0,0,0,0,0,0);
typedef union
{
struct
{
unsigned S0 :1;
unsigned S1 :1;
unsigned S2 :1;
unsigned S3 :1;
unsigned S4 :1;
unsigned S5 :1;
unsigned S6 :1;
unsigned S7 :1;
};
unsigned char S0_7;
}USensor;
USensor sen;
unsigned char a;
void main (void)
{
for(;;)
{
sen.S0 = 1;
sen.S1 = 0;
sen.S2 = 1;
sen.S3 = 0;
sen.S4 = 1;
sen.S5 = 0;
sen.S6 = 1;
sen.S7 = 0;
a = sen.S0_7;
}
}
错误消息
错误[285] C:\ Users \ Testing \ Test.c; 25.2声明中没有标识符错误[255] C:\ Users \ Testing \ Test.c; 36.8不是结构/联合“”的成员 错误[255] C:\ Users \ Testing \ Test.c; 37.8不是结构/联合“”的成员 错误[255] C:\ Users \ Testing \ Test.c; 38.8不是struct / union“”的成员