gpt4 book ai didi

c - Arduino 变量在第一次通过后变为空白

转载 作者:行者123 更新时间:2023-11-30 16:02:59 25 4
gpt4 key购买 nike

我有一个Arduino sketch它需要一个时间,当该时间等于当前时间时,它将新时间设置为 timet + 2。

例如:

 char* convert(char* x, String y)
{
int hour;
int minute;

sscanf(x, "%d:%d", &hour, &minute);

char buf[6];

if (y == "6")
{
if (hour > 17)
{
hour = (hour+6)%24;
snprintf(buf, 10, "%d:%d", hour, minute );
}
else
if (hour < 18)
{
//hour = hour + 6;
minute = (minute + 2);
snprintf(buf, 10, "%d:%d", hour, minute);
}
}

if (y == "12")
{
if (hour > 11)
{
hour = (hour+12)%24;
snprintf(buf, 10, "%d:%d", hour, minute );
}
else
if (hour < 12)
{
hour = hour + 12;
snprintf(buf, 10, "%d:%d", hour, minute);
}
}

if (y == "24")
{
hour = (hour+24)%24;
snprintf(buf, 10, "%d:%d", hour, minute );
}
return buf;
}

草图例如在凌晨 1:00 开始。 timet设置为1:02,在系统时间1:02时timet等于系统时间。

我的循环如下所示:

if (timet == currenttime)
{
timet = convert(timet)
}

每当我检查 timet 的值时,它应该等于 1:04,但是在执行转换后第一次运行时我得到了正确的值,但是此后每次我的 timet 值都是空白。

我尝试更改代码而不是使用 if 循环。我仅在通过串行监视器发送例如 t 时才运行转换函数。这工作正常,并在执行转换函数后输出正确的时间,所以我认为问题出在 if 循环中......

有什么想法吗?

最佳答案

看起来很狡猾...

传递指针?

当然你的意思不是 *x = *x + 2

关于c - Arduino 变量在第一次通过后变为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4536782/

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