遇到个问题,在传递结构体的成员的值时,一般情况下能够传递,但一放进函数里就无法传递进去了。不知有没大神能帮忙解答。
以下简化了程序,并把无关部分省略,在查询KP值时,外面的返回6,函数neko里返回的却是0.
单片机:atmega328P
struct PID
{
int KP;
int KD;
float bias;
float last_bias;
} SPID,PPID;
void neko()
{
Serial.println(SPID.KP);
}
Void loop
{
//省略
SPID.KP=6;
Serial.println(SPID.KP); //此处查询串口输出KP值,KP=6;
neko(); //此处查询串口输出KP值,KP=0;
while(1);
}
|