请教个关于结构体成员的问题

[复制链接]
950|6
手机看帖
扫描二维码
随时随地手机跟帖
nightingale2003|  楼主 | 2018-6-9 10:21 | 显示全部楼层 |阅读模式
pi, pid, spi, se, ST
遇到个问题,在传递结构体的成员的值时,一般情况下能够传递,但一放进函数里就无法传递进去了。不知有没大神能帮忙解答。

以下简化了程序,并把无关部分省略,在查询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);
}

相关帖子

mailshichao| | 2018-6-9 11:30 | 显示全部楼层
语法上没什么问题,就有可能是编译器或者单片机问题了

使用特权

评论回复
mailshichao| | 2018-6-9 11:38 | 显示全部楼层
我用VS2012调试可以实现输出

使用特权

评论回复
chongdongchen| | 2018-6-9 14:09 | 显示全部楼层
单从你这段程序没看出来有问题。看你这个好像是arduino程序。

使用特权

评论回复
nightingale2003|  楼主 | 2018-6-9 16:41 | 显示全部楼层
chongdongchen 发表于 2018-6-9 14:09
单从你这段程序没看出来有问题。看你这个好像是arduino程序。

是的,是arduino的。

使用特权

评论回复
linqing171| | 2018-6-9 22:39 | 显示全部楼层
能用volatile修饰吗?

使用特权

评论回复
ayb_ice| | 2018-6-11 08:33 | 显示全部楼层
Serial.println这个函数有问题吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

105

帖子

2

粉丝