msp430编程的报错

[复制链接]
1122|3
 楼主| 小耐耐 发表于 2014-11-10 20:07 | 显示全部楼层 |阅读模式
Warning[Pe940]: missing return statement at end of non-void function "keyscan" H:\C\按键扫描\main.c 32
为什么??
uchar keyscan(void)
{
  uchar i;
  uchar keyvalue;
  uchar keyvalue1;
  uchar keyvalue2;
  uchar outdata[4]={0x7f,0xbf,0xdf,0xef};
  
  for(i=0;i<4;i++)
  {
    P1OUT=outdata[i];
    if(P1IN|0XF0!=0XFF)
     {
       keyvalue1=P1IN&0X0F;
       keyvalue2=P1OUT&0XF0;
       keyvalue=keyvalue1+keyvalue2;
       return keyvalue;
      }
    else
      {
       keyvalue=0XFF;
       return keyvalue;
      
      }
   }
}
qqljhang 发表于 2014-11-10 20:21 | 显示全部楼层
在第一次循环中就会跳出, 因为if  和else中都有return,这样写法不太好.    导致你的for循环失去作用.   
qqljhang 发表于 2014-11-10 20:22 | 显示全部楼层
不过,这不是错误,   只是个报警.        可以不care, 不过不利于养成好的编程习惯。
 楼主| 小耐耐 发表于 2014-11-10 20:48 | 显示全部楼层
qqljhang 发表于 2014-11-10 20:22
不过,这不是错误,   只是个报警.        可以不care, 不过不利于养成好的编程习惯。 ...

感谢感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部