单片机C语言,在main中调用某个函数成功,但是在子程序中调用该函数不成功,是不是不能在子程序中调用函数
具体是这样的:被调用的函数是:voidGetKey(void){*********}做矩阵键盘扫描主函数是:main(){********GetKey();switch(...
具体是这样的:
被调用的函数是:void GetKey(void) {*********} 做矩阵键盘扫描
主函数是:
main()
{
********
GetKey();
switch(NUMCARS()/15)
{
case 0:{t=10;ewstate(t);break;}
case 1:{t=15;ewstate(t);break;}
case 2:
default:{t=20;ewstate(t);break;}
}
switch(NUMCARS()/15)
{
case 0:{t=10;nsstate(t);break;}
case 1:{t=15;nsstate(t);break;}
case 2:
default:{t=20;nsstate(t);break;}
}
}
在主函数中调用成功了,但是在void nsstate(unsigned char j)和void ewstate(unsigned char j)中调用都失败了,求解释怎么回事 展开
被调用的函数是:void GetKey(void) {*********} 做矩阵键盘扫描
主函数是:
main()
{
********
GetKey();
switch(NUMCARS()/15)
{
case 0:{t=10;ewstate(t);break;}
case 1:{t=15;ewstate(t);break;}
case 2:
default:{t=20;ewstate(t);break;}
}
switch(NUMCARS()/15)
{
case 0:{t=10;nsstate(t);break;}
case 1:{t=15;nsstate(t);break;}
case 2:
default:{t=20;nsstate(t);break;}
}
}
在主函数中调用成功了,但是在void nsstate(unsigned char j)和void ewstate(unsigned char j)中调用都失败了,求解释怎么回事 展开
展开全部
调用前,必须先声明函数,在所有函数之前加
void GetKey(void);
后面再调用就不会出错了
void GetKey(void);
后面再调用就不会出错了
追问
声明过了,不行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否在程序前部进行函数声明了。
追问
声明过了,但是调用不成功啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在 nsstate和ewstate函数中调用GetKey吗?
更多追问追答
追问
对,而且之前已经进行了函数声明
追答
问题并没有那么简单,主函数中还有switch(NUMCARS()/15),调用GetKey的条件确定成立吗?怎样知道 nsstate和ewstate肯定有调用GetKey,仿真吗?NUMCARS()函数是什么,没把程序贴出来,调用GetKey的条件是否成立就无法分析了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询