记一次调试BUG: ADX345输出为0【C语言优先级<<小于+】


分类:电子,单片机 作者:myerob 标签:调试 BUG ADX345 C语言 优先级 阅读:91 收藏
导读:
在调试ADX345时,读0X00寄存器可以得到229,证明i2c没问题,但读取数据时,log打出来的总是0翻阅网上各种文章,复位,延时,都试了,不好使。后来仔细检查代码发现:gyro[0] = tmp…

在调试ADX345时,读0X00寄存器可以得到229,证明i2c没问题,但读取数据时,log打出来的总是0

翻阅网上各种文章,复位,延时,都试了,不好使。

后来仔细检查代码发现:

gyro[0] = tmp[0]<<8 + tmp[1];

结果一直不对,静态没有输出。再检查代码发现,<<优先级比+要低,加括号后改为

gyro[0] = comp2raw((tmp[0]<<8) + tmp[1]);

输出结果正常了。
 


相关推荐