找回密码
 立即注册

QQ登录

只需一步,快速开始

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

warning C173: missing return-expression C290: missing return value错误如何修改?

[复制链接]
跳转到指定楼层
楼主
ID:941608 发表于 2021-6-23 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
啾咪 有无单片机的大神 帮我看看这个需要在哪里改这个错误,非常感谢!

0101.c(292): warning C173: missing return-expression
0101.c(292): warning C290: missing return value
0101.c(303): warning C290: missing return value
0101.c(310): warning C290: missing return value
0101.c(320): warning C290: missing return value
0101.c(330): warning C290: missing return value

uchar keyscan(void)      //键盘扫描
{ {unsigned char key_l,key,s;
     key_l=P1&0x0f;
     if(key_l!=0x0f)     // 判断是否有按键按下
    {  delay5() ;       //消抖
     if(key_l!=0x0f)        //再次判断是否有按键按下
    {
     key_l=P1&0x0f;        //扫描列  得到列值
     P1=0X7f;                        //0111 1111
         if(P1!=0x7f)  key=P1;
         P1=0Xbf;                   //1011 1111
         if(P1!=0xbf)  key=P1;
         P1=0Xdf;
         if(P1!=0xdf)  key=P1;
         P1=0Xef;
         if(P1!=0xef)  key=P1;
         P1=0x0f;
     } delay1(1000);
      }         
                    switch(key)
            {
             case 0xeb:         count1=1;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
             case 0xd7:         count1=2;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
                  case 0xdb:         count1=3;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
                    case 0xdd:         count1=4;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
             case 0xb7:         count1=5;i=0; TR1=1;second=0;s1=0;s2=0;    break;              
                 case 0xbb:         count1=6;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
                   case 0xbd:         count1=7;i=0; TR1=1;second=0;s1=0;s2=0;    break;        
                 case 0x77:         count1=8;i=0; TR1=1;second=0;s1=0;s2=0;        break;        
                 case 0x7b:         count1=9;i=0;        second=0;s1=0;s2=0; TR1=1;        break;              
                 case 0x7d:         count1=10;i=0;        second=0;s1=0;s2=0; TR1=1;        break;                  
                 case 0xe7:         count2=1;        break;                  //开机键ON/C
                 case 0xed:         count2=2;h=0; s=second;break;                  //暂停键 =                  
                 case 0xee:  count1=count1+1;i=0; delay1(100);  TR1=1;second=0;s1=0;s2=0; break;        //下一曲 +   
                 case 0xde:    count1=count1-1;i=0;  delay1(100); TR1=1; second=0;s1=0;s2=0; break;   //上一曲 -  
                 case 0xbe:  count2=5;h=1; TR0=1; s=second;  break;   TR1=1;    //播放键
                 default:break;
            }                                                      
       P1 = 0x0f;   
          }

}
//=======外部中断INT0==========//     
void ZD() interrupt 0
{
         keyscan();
}
//===========显示延迟=======================//
delay2(int a)
{int b;
for(;a>0;a--)
  for(b=0;b<255;b++);
}
check()                 //查忙            
{e=1;
rw=1;
rs=0;
P0=0xff;                  
if(busy);                                
}
/*写指令程序*/
wc(unsigned char dat)
{check();
e=0;
rw=0;
rs=0;            
P0=dat;
e=1;                              
e=0;
}
/* 写数据程序*/
wd(unsigned char dat)        
{check();
e=0;
rw=0;   
rs=1;
P0=dat;
e=1;
e=0;
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2021-6-24 01:28 | 只看该作者
这个不是错误,这是警告,是说函数没有返回值,不要紧的
回复

使用道具 举报

板凳
ID:824490 发表于 2021-6-24 15:15 | 只看该作者
uchar keyscan(void)      //键盘扫描
{ {unsigned char key_l,key,s;

函数开始有2个“{”?这是什么造型?
回复

使用道具 举报

地板
ID:941608 发表于 2021-6-24 15:51 | 只看该作者
名字不是重点 发表于 2021-6-24 15:15
uchar keyscan(void)      //键盘扫描
{ {unsigned char key_l,key,s;

ummm 它这个整段代码就是有两套这个{}
回复

使用道具 举报

5#
ID:941608 发表于 2021-6-24 15:51 | 只看该作者
51hei团团 发表于 2021-6-24 01:28
这个不是错误,这是警告,是说函数没有返回值,不要紧的

但是他Target not created.
回复

使用道具 举报

6#
ID:405850 发表于 2021-6-24 21:27 | 只看该作者
uchar keyscan(void)      //键盘扫描
这里你的函数是定义了有返回值,要么你返回需要的值 ,要么直接结束前return 0;或者把uchar改成void
回复

使用道具 举报

7#
ID:941608 发表于 2021-6-26 22:09 | 只看该作者
 发表于 2021-6-24 21:27
uchar keyscan(void)      //键盘扫描
这里你的函数是定义了有返回值,要么你返回需要的值 ,要么直接结 ...

嗯,好的,谢谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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