gpt4 book ai didi

c - 其中一些函数出现 "Not all paths return a value"错误 — 如何修复?

转载 作者:行者123 更新时间:2023-11-30 16:53:42 26 4
gpt4 key购买 nike

我在编写这段代码时遇到问题。我不太熟悉从函数返回。

我正在尝试使用 z8 Encore 微 Controller 进行编码,我已通过面包板与 DIP、开关和 LED 连接。

基本上,我正在尝试编写代码,以便当我按下 Z8 板上的测试开关时,它将访问每个功能,然后增加 LED 的单个计数输出。

我不知道我哪里错了。我的编译器告诉我,在 button_pushedpushed_buttonreleased_button 中“并非所有路径都返回值”。如果有人可以帮助我,我将不胜感激!

#include <ez8.h>
#include <STDIO.H>

unsigned char pushed_button();
unsigned char released_button();
unsigned char dip;

void init_ports();
void button_pushed();
void mydelay(unsigned int msec);

void main()
{
char count=0;

init_ports();

while(1)
{
dip=PDIN;

button_pushed ();
PEOUT=count;
count++;;

return (0);
}
}


void button_pushed()
{
unsigned char pushed_button;

pushed_button=PCIN;
pushed_button=pushed_button & 0x01;

while(pushed_button==0x00)
{
return (0);
}
}

unsigned char pushed_button()
{
unsigned char pushed_button;

pushed_button=PCIN;
pushed_button=pushed_button & 0x01;

while(pushed_button==0x01)
{
button_pushed();
}
if(pushed_button==0x00)
{
mydelay(2);

}
if(pushed_button==0x00)
{
return (0);
}
}

unsigned char released_button()
{
unsigned char pushed_button;

pushed_button=PCIN;
pushed_button=pushed_button & 0x01;

while (pushed_button==0x00)
{
button_pushed();
}
if(pushed_button==0x01)
{
mydelay(2);
}
while(pushed_button==0x01)
{
return (0);
}
}

void mydelay (unsigned int msec)
{
long int delay;

while(1)
{
for(delay=266666;delay>0;delay--);
}

}

void init_ports(void)
{
PEADDR=0x02;
PECTL=0x00;
PEADDR=0x01;
PECTL=0x00;
PEADDR=0x03;
PECTL=0x00;
PEADDR=0x00;

PDADDR=0x02;
PDCTL=0x00;
PDADDR=0x01;
PDCTL=0xFF;
PDADDR=0x00;

PCADDR=0x02;
PCCTL=0x00;
PCADDR=0x01;
PCCTL=0x01;
PCADDR=0x00;
}

最佳答案

我知道我的问题出在哪里。我对调用函数的知识缺乏理解。

我尝试从 init_ports 函数中取出所有代码,将此代码放入 void main (void) 中,并能够编译并运行另一个程序,其中当我时,我的编程套件上的测试开关在 LED 上输出按下开关,不是增量计数(这就是我想要的),但灯光会亮起并在 LED 之间切换。

我已将所有端口初始化放回到 init_ports() 函数中,现在 LED 上没有输出。让我相信我使用这些函数的方式有问题?或者尝试从这些函数中回调。我不确定。

关于c - 其中一些函数出现 "Not all paths return a value"错误 — 如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com