找回密码
 立即注册

QQ登录

只需一步,快速开始

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

总是提示:接收.c(31): warning C290: missing return value等等还有c38 55 61

[复制链接]
跳转到指定楼层
楼主
ID:884801 发表于 2021-2-24 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#pragma src(E:\remote.asm)
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define disout P2
sbit   dula=P3^7;
uchar code   table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit  remotein=P3^1;
sbit sin=P3^0;
sbit K1=P0^0;
sbit K2=P0^1;
sbit K3=P0^2;
sbit K4=P0^3;
sbit K5=P0^4;
sbit K6=P0^5;
sbit K7=P0^6;
sbit K8=P0^7;
uint i,j,m,n,k,s=1;
uint keyvol;              //值存放
//
/*********1 毫秒延时程序**********/
delay1ms(uint t)
{
for(i=0;i<t;i++)
for(j=0;j<120;j++);
}
/***********初始化函数**********/
clearmen()
{
dula=0;
EX0=1;
EA=1;              //开总中断
}
//

/**********函数************/
loop()
{
switch(disout&0x07)
{
case 0:{s=1;break;}
case 1:{s=2;break;}
case 2:{s=3;break;}
case 3:{s=4;break;}
case 4:{s=5;break;}
case 5:{s=6;break;}
case 6:{s=7;break;}
case 7:{s=8;break;}
default:break;}
}
xianshi()
{
dula=1;
P1=table[keyvol-2] ;
dula=0;
}

/***********主函数***************/
main()
{
clearmen();              //初始化
loop();
while(1)
{
while(sin==1);
delay1ms(s);
K8=0;
delay1ms(1);
K8=1;
}
}
/************外中断遥控接收函数**************/
void intt0(void) interrupt 0
{
EX0=0;keyvol=0;
if(remotein==0)
   {delay1ms(1);
    if(remotein==0)
{while(1)
{while(remotein==0);
keyvol++;k=0;
while(remotein==1){delay1ms(1);k++;if(k>2){ xianshi();goto OOUUTT; xianshi();};}
}
OOUUTT:
switch(keyvol)
{
case 2:{K1=~K1;break;}
case 3:{K2=~K2;break;}
case 4:{K3=~K3;break;}
case 5:{K4=~K4;break;}
case 6:{K5=~K5;break;}
case 7:{K6=~K6;break;}
case 8:{K7=~K7;break;}
case 9:{if(disout==0x00){disout=0xff;}else{disout--;}loop();break;}
default:break;
}
}
}
EX0=1;
}

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

使用道具 举报

沙发
ID:332444 发表于 2021-2-25 08:25 | 只看该作者
从31起到文件头全部注释掉然后逐行解释
回复

使用道具 举报

板凳
ID:466505 发表于 2021-2-25 10:45 | 只看该作者
函数名前面要加上返回类型,没有就加上void,比如
delay1ms(uint t)
{
for(i=0;i<t;i++)
for(j=0;j<120;j++);
}
要改成
void delay1ms(uint t)
{
for(i=0;i<t;i++)
for(j=0;j<120;j++);
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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