标题:
求助non-address/-constant initializer这个问题怎么解决?
[打印本页]
作者:
reking8
时间:
2023-10-19 18:31
标题:
求助non-address/-constant initializer这个问题怎么解决?
User\main.c(63): error C247: non-address/-constant initializer
代码如下:请问这个是什么错误,我是初学者,恳请各位指导,谢谢。
代码有写的不好的,也烦请指正,谢谢
/*固态继电器动作程序
cnt1:接通时间 cnt2:断开时间
*/
void SSR_Action(u8 cnt1, u8 cnt2)
{
u16 temp1 = cnt1*1000;
u16 temp2 = cnt2*1000;
bit Heat = 1;
static u16 a1 = temp1; static u16 a2 = temp2;
if(Heat)
{
SSR_CTRL = 1;
a1--;
if(a1 == 0)
{
Heat = 0;
a2 = temp2;
}
}
if(Heat == 0)
{
SSR_CTRL = 0;
a2--;
if(a2 == 0)
{
Heat = 1;
a1 = temp1;
}
}
}
作者:
chxelc
时间:
2023-10-19 19:25
用static定义的变量称为静态变量。静态变量在程序调用结束后其占用的内存单元并不被释放(其值保持不变)。把程序内第4行的两个static去掉,就不会报错了。
作者:
reking8
时间:
2023-10-19 22:00
chxelc 发表于 2023-10-19 19:25
用static定义的变量称为静态变量。静态变量在程序调用结束后其占用的内存单元并不被释放(其值保持不变)。把 ...
调用子函数必须添加啊 不然下回进来重新赋值开始啊
作者:
reking8
时间:
2023-10-19 22:17
chxelc 发表于 2023-10-19 19:25
用static定义的变量称为静态变量。静态变量在程序调用结束后其占用的内存单元并不被释放(其值保持不变)。把 ...
这些大佬,问题解决了,同时我改了代码,--改成了++,这也问题应该是 static变量必须赋初值是一个具体的值吧,而不是不确定的值
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1