完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前在做mpu的dmp,用的是IAR编译器。由于换了单片机,所以转战了keil,于是准备把dmp相关的.c .h加入到keil的工程,结果编译出了一堆问题,大部分都是left side of asn-op not an lvalue.以及各种syntax错误。相关的引脚定义什么的我都改过来了,结果依然有一堆这种错误。不知道为什么。
举个例子: gyro_bias_body[0] = (long)(((long long)gyro_bias_body[0] * GYRO_SF) >> 30); gyro_bias_body[1] = (long)(((long long)gyro_bias_body[1] * GYRO_SF) >> 30); gyro_bias_body[2] = (long)(((long long)gyro_bias_body[2] * GYRO_SF) >> 30); 每行都有错误,错误是:syntax error near 'L', syntax error near ')' regs[0] = (unsigned char)((gyro_bias_body[0] >> 24) & 0xFF); regs[1] = (unsigned char)((gyro_bias_body[0] >> 16) & 0xFF); regs[2] = (unsigned char)((gyro_bias_body[0] >> 8) & 0xFF); 这个的错误是,'>>',bad operand type gyro_bias_body[0] = bias[dmp.orient & 3]; if (dmp.orient & 4) gyro_bias_body[0] *= -1; gyro_bias_body[1] = bias[(dmp.orient >> 3) & 3]; if (dmp.orient & 0x20) gyro_bias_body[1] *= -1; gyro_bias_body[2] = bias[(dmp.orient >> 6) & 3]; if (dmp.orient & 0x100) gyro_bias_body[2] *= -1; 他们的错误就是left side of asn-op not an lvalue. 实在不解!向各位大神求解!感谢!
|
|
相关推荐
5个回答
|
|
变量声明的位置问题吧?我之前也是这个问题,最后发现是由于变量的声明没有放到最开始导致。
|
|
|
|
楼上正解!所以啊,最好按照ANSI C标准来写,移到哪个编译器都能编译通过!
|
|
|
|
keil支持long long吗?
|
|
|
|
放到最开始?你是说#include下面么? |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
158 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
237 浏览 0 评论
655 浏览 1 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
563 浏览 0 评论
862 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12033 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 14:37 , Processed in 1.414865 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号