完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我试图使用SPI通信将LIS2DH12与NRF51822芯片接口,无论我以何种方式配置我的spi,它总是在x,y,z坐标的所有六个寄存器中返回固定值0x80,0x40,0xc0。
我没有使用FIFO但是直接尝试从寄存器读取是正确的方法还是我应该选择FIFO模式。 提前致谢。 以上来自于谷歌翻译 以下为原文 I am trying to interface LIS2DH12 with NRF51822 chip using SPI communication no matter in what way i configure my spi, it is always returning fixed values 0x80,0x40,0xc0 in all six registers for x,y,z co-ordinate. I am not using FIFO but trying directly to read from register is it right way or should i choose FIFO mode. thanks in advance. |
|
相关推荐
5个回答
|
|
要检查SPI通信,首先尝试读取who_am_i(0x0F)寄存器,如果它工作,则尝试将值写入寄存器并将其读回。
如果这样做,请分享您的传感器配置,我可以检查它。 以上来自于谷歌翻译 以下为原文 To check your SPI communication first try to read who_am_i (0x0F) register, if it works then try to write a value to a register and read it back. If this works, please share you sensor configuration and I can check it. |
|
|
|
感谢您的关注,我能够从WHO_M_I寄存器读取值0x33,并能够从任何寄存器进行写入和读取。
这是我的MEMS配置功能: void MCAL_MEMS_Init() { int i; / * MEMS配置寄存器* / LIS2DH12_Write(LIS2DH12_REG_CTRL_REG1,0x77); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(LIS2DH12_REG_CTRL_REG2,0x00); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(LIS2DH12_REG_CTRL_REG4,0x00); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(LIS2DH12_REG_CTRL_REG5,0x00); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(FIFO_CTRL_REG,0x00); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(TEMP_CFG_REG,0x00); 对于(I = 0; I&LT; 100;我++); LIS2DH12_Write(INT1_CFG,0x00); 对于(I = 0; I&LT; 100;我++); 如果我在配置MEMS寄存器时做错了,请建议我。 以上来自于谷歌翻译 以下为原文 Thanks for your attention and I am able to read value 0x33 from WHO_M_I register as well as able to write and read from any register. This are my MEMS configuration function: void MCAL_MEMS_Init() { int i; /* MEMS Configuration Register */LIS2DH12_Write( LIS2DH12_REG_CTRL_REG1,0x77); for(i=0;i<100;i++); LIS2DH12_Write( LIS2DH12_REG_CTRL_REG2,0x00); for(i=0;i<100;i++); LIS2DH12_Write( LIS2DH12_REG_CTRL_REG4,0x00); for(i=0;i<100;i++); LIS2DH12_Write( LIS2DH12_REG_CTRL_REG5,0x00); for(i=0;i<100;i++); LIS2DH12_Write( FIFO_CTRL_REG ,0x00); for(i=0;i<100;i++); LIS2DH12_Write( TEMP_CFG_REG ,0x00); for(i=0;i<100;i++); LIS2DH12_Write( INT1_CFG ,0x00); for(i=0;i<100;i++); }Please suggest me if i am doing anything wrong in configuring MEMS registers. |
|
|
|
你配置正确,只设置CTRL_REG1足以使传感器工作,其他寄存器都是默认值。
您确定要读取正确的输出寄存器吗?您写道,您在所有六个寄存器中读取了3个值(0x80,0x40,0xC0),这没有多大意义。所有六个寄存器的值是多少?他们稳定吗? 以上来自于谷歌翻译 以下为原文 You configuration is correct, only set the CTRL_REG1 is enough to make the sensor work, other registers are in default value. Are you sure you you are reading the correct output registers. You wrote that you read 3 values (0x80, 0x40, 0xC0) in all six registers, it doesn't make much sense. What are the values in all six registers? Are they stable? |
|
|
|
再次感谢您的关注和测试目的,如果我只检查一个寄存器,假设OUT_X_L或任何其他它将返回那些不正确的值(0x80,0x40,0xc0)我猜,我想要得到变量而不是修复值这些寄存器在传感器的运动上。
如果你能说出来,可能是什么原因。 以上来自于谷歌翻译 以下为原文 Thanks for your attention again and for testing purpose if i check only one register suppose OUT_X_L or any other it will return those values(0x80,0x40,0xc0) which is not right i guess, i am suppose to get variable and not fix values in these registers on movement of the sensor. What could be the possible reason if u can tell. |
|
|
|
不幸的是,你的解释并不清楚。我认为,传感器工作,你只是误解了结果。
请读取所有六个输出寄存器(在移动期间或在不同的传感器位置)并共享值,然后我可以检查它。 以上来自于谷歌翻译 以下为原文 Unfortunately, your explanation is not clear. I think, the sensors works, you only misinterpret the results. Please read all six output registers (during movement or in different sensor position) and share the values, I can then check it. |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2649 浏览 1 评论
3213 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1787 浏览 1 评论
3617 浏览 6 评论
5996 浏览 21 评论
944浏览 4评论
1318浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
589浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1307浏览 3评论
1367浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 18:23 , Processed in 3.088578 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号