导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→向高手请教!![liulu8382]

 *第20453篇: 向高手请教!!

  
楼 主:liulu8382 2004年3月25日12:46
 向高手请教!!
static const char tab[4]={0x02,0x02,0x02,0x02};          
static const char tab1[4]={0x02,0x02,0x02,0x02};
我定义了如上的两个数组,不知道为什么通不过。
编译后是这样的
Build target 'Target 1'
compiling testjianhe1.C...

TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
TESTJIANHE1.C(19): error C100: unprintable character 0xA1 skipped
Target not created

这是为什么啊?
急急

  
2楼:sunsky 2004年3月25日14:01
 急啥呀!
你地方没说对吧!我同样定义就没出错!看你的原文,不象是定义的问题
  
3楼:liulu8382 2004年3月25日14:43
 完整程序如下
#include  <reg51.h>  
#define uchar unsigned char 
#define uint unsigned int
bit FLAG0=0;
char ptr=0; 
char a1=0,b1=100,stand=0,m=0;
sbit     PD=P2^6;
bit FLAG1=0;             //输入密码已有四位(SET键)允许?
bit FLAG7=0;   //四秒定时标志位
uchar F1=0;               //系统状态标志位    
uchar F2=0;     //待机状态选择标志位
uint  key4=0;       //4秒定时设置
uchar Z=0;             /*输入计数变量*/
uchar X=0;             /*改密码设置计数标志*/
static const char tab[4]={0x02,0x02,0x02,0x02};
static const char tab1[4]={0x02,0x02,0x02,0x02};       

uchar keyscan(void);
uchar keyman0(void);

void main(void)
{
P1=0xff;
while(1)
{
   
 keyscan();
 text=ptr;
}  
  
}
uchar keyscan(void)               //扫描键盘输出键值子程序
{                                     
 uchar a1,i,m,K=0; 
 if(FLAG0==0)                                
 {
 P1=0x70;   
 if((P1&0x70)!=0x70)
         {
  FLAG0=1;
  }
 return(0);
 }  
 if(FLAG0==1)
 {
 P1=0x70;
 if((P1&0x70)!=0x70)
 {
 a1=0x7e;
 for(i=0;i  <4;i++)
 {
 P1=a1;
 m=P1;
 switch(m&0x70)
 {
 case 0x60: ptr=i*3;
   K=1;
   break;
 case 0x50: ptr=i*3+1;
   K=1;
    break;
 case 0x30: ptr=i*3+2;
   K=1;
   break;
   default:      break;
 }
 if(K==1)break;
 a1=a1  <  <1|0x71;
 }
 FLAG0=0;
 return(1);
 }
 }
}
uchar keyman0(void)
{
 if((ptr==0)&&(FLAG7==1))
  {   
   if(key4>  1)
    {
     key4=key4--;
    }
   else
    FLAG7=0;
    return (0);
  }
 if(ptr!=0)
  {
   
   return (0);
  }
 return(0);

  
4楼:liulu8382 2004年3月25日14:31
 那是什么问题呢,大哥,帮人帮到底啊
  
5楼:lzh08_laogu 2004年3月25日14:45
 你在程序中使用了汉字的标点符号!
  
6楼:liulu8382 2004年3月25日15:05
 好象没有啊
不信你编译试试
  
7楼:sunsky 2004年3月25日16:16
 没有才怪!就在出错行的末尾!
#define uint unsigned int
bit FLAG0=0;
char ptr=0; 
char a1=0,b1=100,stand=0,m=0;
sbit     PD=P2^6;
bit FLAG1=0;             //输入密码已有四位(SET键)允许?
bit FLAG7=0;   //四秒定时标志位
uchar F1=0;               //系统状态标志位    
uchar F2=0;     //待机状态选择标志位
uint  key4=0;       //4秒定时设置
uchar Z=0;             /*输入计数变量*/
uchar X=0;             /*改密码设置计数标志*/
static const char tab[4]={0x02,0x02,0x02,0x02};
static const char tab1[4]={0x02,0x02,0x02,0x02};
uchar keyscan(void);
uchar keyman0(void);

void main(void)
{
char text;
P1=0xff;
while(1)
{
   
 keyscan();
 text=ptr;
 keyman0();
}  
  
}
uchar keyscan(void)               //扫描键盘输出键值子程序
{                                     
 uchar a1,i,m,K=0; 
 if(FLAG0==0)                                
 {
 P1=0x70;   
 if((P1&0x70)!=0x70)
         {
  FLAG0=1;
  }
 return(0);
 }  
 if(FLAG0==1)
 {
 P1=0x70;
 if((P1&0x70)!=0x70)
 {
 a1=0x7e;
 for(i=0;i  <4;i++)
 {
 P1=a1;
 m=P1;
 switch(m&0x70)
 {
 case 0x60: ptr=i*3;
   K=1;
   break;
 case 0x50: ptr=i*3+1;
   K=1;
    break;
 case 0x30: ptr=i*3+2;
   K=1;
   break;
   default:      break;
 }
 if(K==1)break;
 a1=a1  <  <1|0x71;
 }
 FLAG0=0;
 return(1);
 }
 }
}
uchar keyman0(void)
{
 if((ptr==0)&&(FLAG7==1))
  {   
   if(key4>  1)
    {
     key4=key4--;
    }
   else
    FLAG7=0;
    return (0);
  }
 if(ptr!=0)
  {
   
   return (0);
  }
 return(0);

  
8楼:liulu8382 2004年3月25日16:18
 有了,谢谢各位

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:关于汽车四轮定位

[下一篇主题]:8051控制8019网卡的问题