完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用这个布线去,芯片是MPU6050三轴陀螺仪加速度计,很奇怪! #define delays delay_ms(2) //delays;//初始化IIC void IIC_Init(void) { RCC->APB2ENR|=1<<3;//先使能外设IO PORTB时钟 GPIOB->CRL&=0X00FFFFFF;//PB6,PB7 GPIOB->CRL|=0X33000000; } //产生IIC起始信号 void IIC_Start(void) { SDA_OUT(); //sda线输出 IIC_SCL=1; delays; IIC_SDA=1; delays; IIC_SDA=0; delays; } 就是设置那个delay的延时来控制I2C的读取速度,好奇怪的是,在读芯片存放地址的寄存器: WHO_AM_I的时候,DELAY可以取到2US没问题,但是读到数据寄存器时,这次 测的是X轴加速度,竟然 DELAY要弄到2MS才能读出数据,感觉很悲剧,结果试验了一下,一秒钟才出了5个数据左右(用串口打到PC机上扣去串口通讯目测的)。这个小板子是 玩四轴的,感觉有点小郁闷,不知1S打那么点数据够用不,所以在这里请教一下PCB的布线如上图,有什么需要注意的地方。 |
|
相关推荐
10个回答
|
|
|
|
|
|
我用原子哥的板子和自己的板子程序一样。。。。结果还是原子哥的板子跑的频率快,原子哥的板子线长比我长好多,线间距也差不多,但是唯一的区别是原子哥的板子出门都是直线,会不会是我出门的拐弯给弄了.... 都铺地了。。。感觉现在还勉强凑合。。刚才试试了电机开的情况下数据的抖动情况,感觉抖动不是很厉害。
|
|
|
|
是不是这个模块的输出速度问题?
|
|
|
|
三轴MPU6050模块都是用一个模块,拆过来拆过去。。。MPU6050里面说支持达到400KHZ的。估计是我的布线不太行,下次把两个引脚不弄相邻再试试
模块是用排插,然后芯片一往上插这样来做的,因为考虑到用你的板子是用杜邦线接的所以我后来又改用了杜邦线的接法,速度一样提不上去,感觉估计就是板子的问题 所以只能下次注意一点了。 |
|
|
|
I2C读取那个芯片的时候我读WHO_AM_I寄存器,DELAY可以到2us而读数据寄存器就不行了,我从刚才想到这里越想越不明白啊。。求解- -
|
|
|
|
是不是和你的代码有关系了,呵呵.MPU6050论坛有人发过代码,你参考下试试.
|
|
|
|
恩恩我再调调。
|
|
|
|
终于解决了,是速度太快初始化没完成,所以读不出数据。把初始化调慢一点或者中间弄点间隔就OK了谢谢原子哥啊,看你的回复突然来灵感的说。
|
|
|
|
|
|
楼主,你的MPU6050读取的数据准确吗
|
|
|
|
只有小组成员才能发言,加入小组>>
858 浏览 2 评论
12801 浏览 0 评论
4098 浏览 7 评论
2318 浏览 9 评论
2138 浏览 2 评论
439浏览 2评论
732浏览 2评论
860浏览 2评论
584浏览 1评论
641浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 09:27 , Processed in 1.095990 second(s), Total 96, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号