找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7284|回复: 10
打印 上一主题 下一主题
收起左侧

在单片机中出现这个问题,麻烦帮忙解决下 C202: 'ERROR': undefined identifier

[复制链接]
跳转到指定楼层
楼主
ID:86461 发表于 2015-12-30 20:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C(441): error C202: 'OK': undefined identifierC(447): error C202: 'ERROR': undefined identifier
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2015-12-30 23:41 来自触屏版 | 只看该作者
没有定义
回复

使用道具 举报

板凳
ID:86461 发表于 2015-12-31 09:03 | 只看该作者
怎么定义?
回复

使用道具 举报

地板
ID:97249 发表于 2015-12-31 12:34 | 只看该作者
把代码贴出来
回复

使用道具 举报

5#
ID:102817 发表于 2016-1-11 23:03 | 只看该作者
还没有解决吗
回复

使用道具 举报

6#
ID:296364 发表于 2025-4-9 18:31 | 只看该作者
/*
点阵屏管脚定义
SHCP   GND
STCP   GND
R1     GND
G1     GND
VCC    GND
A      GND
B      GND
C      D
*/
/*
控制卡
P0.0~P0.3   A B C D
P16 SCK
P17 STR
R1 P04
G1 P05
R2 P06
G2 P07
*/
#include<stc89c51rc.h>
#define uchar unsigned char
#define uint unsigned int

//如果用自己的单片机实验板连接A B C D 一一对应,则用这个扫描数据
//uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,};/*16行段码*///138驱动数据

//下面的A B C D行扫描数据是反向的 配套我们的控制卡用                                 
uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行段码*///138驱动数据

sbit STR=P1^7;              //锁存         
sbit SCK=P1^6;                    //时钟         
sbit SERr= P0^4;            //红色数据
sbit SERg= P0^5;                        //绿色数据
uchar line=0;
void   rxd_data();        // 发送移动数据
uchar time_count=0; //计数
uchar reg=0;
/**************************************/
void Timer0Interrupt(void) interrupt 1 //定时器中断
{
     TH0 = 0x04C;//定时50MS        这里的晶振是18.432M 测试无需理会晶振大小
     TL0 = 0x000;
         
   time_count++;
   if(time_count>10)//发送一次数据
   {      
       time_count=0;
           line++; //下一行
           if(line>15) //共16行
           {
                    line=0; //重新移动       
                  reg++;//依次变色 红 绿 黄
                  if(reg>2)
                 {
                     reg=0;
                 }       
           }
            rxd_data();//发送数据
        P0 = sw[line]; //打开行扫描                                                                                              
            STR=1;//锁存
            STR=0;
        STR=1;

   }

       
}
/********************************************/

/*主函数*/
void main()
{  
  TMOD=0x01; //定时器0 16位定时定时器1方式2
  TH0=0x4c;  //50ms
  TL0=0x00;
  
  TR0=1; //开定时器计数
  ET0=1; //开定时器中断
  EA=1;         //开中断
   while(1)  
   {
   }
}          
/***********************发送移动的数据****************************/
void rxd_data(void)                            //串行发送数据
{
  uchar s;
  uchar k;
    //uchar f;
  
  for(s=0;s<8;s++)//发送8字节数据
        {
     for(k=0;k<8;k++) //一个字节8位
       {
               SCK=0; //上降沿移位595
                  if( reg==0)                  
                  {
                     SERr=0;//红色亮                                   
                         SERg=1;//绿色灭                                   
                  }
                  if( reg==1)
                  {
                           SERr=1;        //红色灭          
                           SERg=0;//绿色亮                                 
                  }
                  if( reg==2)
                  {
                           SERg=0;        //红色亮          
                           SERr=0;        //绿色亮
                   //组合成了黄色                        
                  }                                     
           SCK=1;
                 
       }
          

   }

}
回复

使用道具 举报

7#
ID:296364 发表于 2025-4-9 18:36 | 只看该作者
然后就出现以下错误

DZP.C(100): error C202: 'SERr': undefined identifier
DZP.C(101): error C202: 'SERg': undefined identifier
DZP.C(105): error C202: 'SERr': undefined identifier
DZP.C(106): error C202: 'SERg': undefined identifier
Target not created
回复

使用道具 举报

8#
ID:1034262 发表于 2025-4-10 15:36 | 只看该作者
没有定义,要先定义再使用。
回复

使用道具 举报

9#
ID:45334 发表于 2025-4-11 13:48 | 只看该作者
#include <stc89c5xrc.h>
回复

使用道具 举报

10#
ID:296364 发表于 2025-4-16 18:29 | 只看该作者
把头文件改成#include<reg52.h>就能编译了
回复

使用道具 举报

11#
ID:1137639 发表于 2025-4-19 22:43 | 只看该作者
/*
点阵屏管脚定义
SHCP   GND
STCP   GND
R1     GND
G1     GND
VCC    GND
A      GND
B      GND
C      D
*/
/*
控制卡
P0.0~P0.3   A B C D
P16 SCK
P17 STR
R1 P04
G1 P05
R2 P06
G2 P07
*/
#include<stc89c51rc.h>
#define uchar unsigned char
#define uint unsigned int

//如果用自己的单片机实验板连接A B C D 一一对应,则用这个扫描数据
//uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,};/*16行段码*///138驱动数据

//下面的A B C D行扫描数据是反向的 配套我们的控制卡用                                 
uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行段码*///138驱动数据

sbit STR=P1^7;              //锁存         
sbit SCK=P1^6;                    //时钟         
sbit SERr= P0^4;            //红色数据
sbit SERg= P0^5;                        //绿色数据
uchar line=0;
void   rxd_data();        // 发送移动数据
uchar time_count=0; //计数
uchar reg=0;
/**************************************/
void Timer0Interrupt(void) interrupt 1 //定时器中断
{
     TH0 = 0x04C;//定时50MS        这里的晶振是18.432M 测试无需理会晶振大小
     TL0 = 0x000;
         
   time_count++;
   if(time_count>10)//发送一次数据
   {      
       time_count=0;
           line++; //下一行
           if(line>15) //共16行
           {
                    line=0; //重新移动      
                  reg++;//依次变色 红 绿 黄
                  if(reg>2)
                 {
                     reg=0;
                 }      
           }
            rxd_data();//发送数据
        P0 = sw[line]; //打开行扫描                                                                                             
            STR=1;//锁存
            STR=0;
        STR=1;

   }

      
}
/********************************************/

/*主函数*/
void main()
{  
  TMOD=0x01; //定时器0 16位定时定时器1方式2
  TH0=0x4c;  //50ms
  TL0=0x00;
  
  TR0=1; //开定时器计数
  ET0=1; //开定时器中断
  EA=1;         //开中断
   while(1)  
   {
   }
}         
/***********************发送移动的数据****************************/
void rxd_data(void)                            //串行发送数据
{
  uchar s;
  uchar k;
    //uchar f;
  
  for(s=0;s<8;s++)//发送8字节数据
        {
     for(k=0;k<8;k++) //一个字节8位
       {
               SCK=0; //上降沿移位595
                  if( reg==0)                  
                  {
                     SERr=0;//红色亮                                   
                         SERg=1;//绿色灭                                   
                  }
                  if( reg==1)
                  {
                           SERr=1;        //红色灭         
                           SERg=0;//绿色亮                                 
                  }
                  if( reg==2)
                  {
                           SERg=0;        //红色亮         
                           SERr=0;        //绿色亮
                   //组合成了黄色                        
                  }                                    
           SCK=1;
                 
       }
         

   }

}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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