完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好Miroslav,我已经完成了IIS2DH加速器的以下配置。
///////////////////////////示例代码///////////////////// /////////////////////////////// 响应= LIS3DH_GetWHO_AM_I(安培; who_am_i); 如果(who_am_i == IC_READ_SUCCESS){ print('Who AM I%x r n',who_am_i); unsigned char响应,状态; AxesRaw_t数据; response = LIS3DH_SetODR(LIS3DH_ODR_10Hz); 如果(响应== 1){ 打印( 'SET_ODR_OK r n'); } response = LIS3DH_SetMode(LIS3DH_LOW_POWER); 如果(响应== 1){ 打印( 'SET_MODE_OK r n'); } response = LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2); 如果(响应== 1){ 打印( 'SET_FULLSCALE_OK r n'); } response = LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE); 如果(响应== 1){ 打印( 'SET_AXIS_OK r n'); } response = LIS3DH_SetFilterDataSel(MEMS_ENABLE); 如果(响应== 1){ print('过滤数据选择启用 r n'); }而(1) { response = LIS3DH_GetAccAxesRaw(& data); 如果(响应== 1){ data.AXIS_X = data.AXIS_X>> 8; data.AXIS_Y = data.AXIS_Y>> 8; data.AXIS_Z = data.AXIS_Z>> 8; print('x%d y%d z%d r n',data.AXIS_X,data.AXIS_Y,data.AXIS_Z); } }} 其他{ print('设备读取失败 r n'); } ///////////////////////////////////// ***** /////// //////////////////////////////////////////// 当我通过软复位重启thr board时,它给出了以下X,Y和Z原始数据: x -1 y -1 z 0 x 0 y -2 z 1 x -1 y 0 z -2 x 0 y -1 z 1 x -1 y 0 z 0 x 1 y -1 z 0 x 0 y 0 z 0 x 0 y -1 z 0 x -1 y -1 z -1 x -1 y -1 z 0 x 0 y 0 z -1 x 0 y -1 z -1 x 1 y 0 z 0 x 0 y 0 z -2 x 0 y 1 z -2 x 0 y 0 z 0 x -1 y -1 z -2 x -1 y -1 z -1 x 0 y -1 z 0 硬盘重启时,跟随原始数据: x -2 y 62 z -12 x -1 y 55 z -11 x -1 y 47 z -9 x -1 y 42 z -10 x -1 y 37 z -7 x -2 y 31 z -6 x -1 y 27 z -7 x -1 y 24 z -7 x 0 y 20 z -5 x -1 y 18 z -4 x -1 y 15 z -4 x -1 y 12 z -1 x -1 y 10 z -2 x 0 y 10 z -3 x -2 y 8 z -2 x -1 y 7 z -2 x -1 y 6 z -1 x -2 y 5 z -2 x -1 y 4 z -1 x 0 y 4 z -1 x 0 y 3 z -1 x 0 y 2 z -2 x -1 y 3 z -3 x 0 y 1 z -1 x -1 y 2 z -1 x 0 y 1 z -2 x -1 y 1 z -2 x 0 y 1 z 0 x 0 y 1 z -1 x -2 y 0 z 0 x 0 y 0 z 0 因此,在硬重启读数中,您已经看到前15-20个读数有些不可用,之后它的稳定读数几乎为零。为什么会这样?你能解决一下吗? 以上来自于谷歌翻译 以下为原文 Hello Miroslav, I have done following configuration for IIS2DH acceleromenter. /////////////////////////// Sample Code //////////////////////////////////////////////////// response=LIS3DH_GetWHO_AM_I(&who_am_i); if(who_am_i==IC_READ_SUCCESS){ print('Who AM I %xrn',who_am_i);unsigned char response,status; AxesRaw_t data; response = LIS3DH_SetODR(LIS3DH_ODR_10Hz); if(response==1){ print('SET_ODR_OKrn'); } response = LIS3DH_SetMode(LIS3DH_LOW_POWER); if(response==1){ print('SET_MODE_OKrn'); } response = LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2); if(response==1){ print('SET_FULLSCALE_OKrn'); } response = LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE); if(response==1){ print('SET_AXIS_OKrn'); } response = LIS3DH_SetFilterDataSel(MEMS_ENABLE); if(response==1){ print('Filter Data Selection enablern'); }while(1) { response = LIS3DH_GetAccAxesRaw(&data); if(response==1){ data.AXIS_X = data.AXIS_X >> 8; data.AXIS_Y = data.AXIS_Y >> 8; data.AXIS_Z = data.AXIS_Z >> 8; print('x %d y %d z %drn',data.AXIS_X,data.AXIS_Y,data.AXIS_Z); } }} else{ print('Device Read Failedrn'); }/////////////////////////////////////*****/////////////////////////////////////////////////// When I reboot thr board by soft reset it has given following X,Y and Z raw data: x -1 y -1 z 0 x 0 y -2 z 1 x -1 y 0 z -2 x 0 y -1 z 1 x -1 y 0 z 0 x 1 y -1 z 0 x 0 y 0 z 0 x 0 y -1 z 0 x -1 y -1 z -1 x -1 y -1 z 0 x 0 y 0 z -1 x 0 y -1 z -1 x 1 y 0 z 0 x 0 y 0 z -2 x 0 y 1 z -2 x 0 y 0 z 0 x -1 y -1 z -2 x -1 y -1 z -1 x 0 y -1 z 0 And following raw data when Hard reboot the board: x -2 y 62 z -12 x -1 y 55 z -11 x -1 y 47 z -9 x -1 y 42 z -10 x -1 y 37 z -7 x -2 y 31 z -6 x -1 y 27 z -7 x -1 y 24 z -7 x 0 y 20 z -5 x -1 y 18 z -4 x -1 y 15 z -4 x -1 y 12 z -1 x -1 y 10 z -2 x 0 y 10 z -3 x -2 y 8 z -2 x -1 y 7 z -2 x -1 y 6 z -1 x -2 y 5 z -2 x -1 y 4 z -1 x 0 y 4 z -1 x 0 y 3 z -1 x 0 y 2 z -2 x -1 y 3 z -3 x 0 y 1 z -1 x -1 y 2 z -1 x 0 y 1 z -2 x -1 y 1 z -2 x 0 y 1 z 0 x 0 y 1 z -1 x -2 y 0 z 0 x 0 y 0 z 0 So, in that hard reboot readings you have seen that first 15-20 readings are some unusaul and after that it has stable readings nearly to zero. Why this is happened? Can you please give some solution on that. |
|
相关推荐
5个回答
|
|
我不知道你的意思是软复位和硬重启?
无论如何,我认为当传感器启动并且内部寄存器尚未初始化时,您没有等待足够的时间。 您可以将引导状态链接到INT2引脚(使用CTRL_REG6中的BOOT_I2位)并检查传感器何时完成内部初始化。 以上来自于谷歌翻译 以下为原文 I don't know what you mean by soft reset and hard reboot? Anyway I suppose you don't wait enough time when the sensors starts-up and the internal registers are not initialized yet. You can link up boot status to the INT2 pin (using BOOT_I2 bit in CTRL_REG6) and check when the sensors finishes the internal initialization. |
|
|
|
感谢您的支持。但是我在CTRL_REG6中启用了BOOT_I2位,但它没有工作。此外,软复位意味着使用我们已加载到控制器中的固件代码重新启动电路板,硬复位意味着关闭电源然后再打开。你说过'
检查传感器何时完成内部初始化 '那我们怎么做? 以上来自于谷歌翻译 以下为原文 Thanks for your support. But I have enabled BOOT_I2 bit in the CTRL_REG6 but it has not worked. Furthermore, soft reset means to reboot the board using the firmware code which we have load into the controller and hard reset means power off and then on. You have said that ' check when the sensors finish the internal initialization ' so how we do it? |
|
|
|
您好Miroslav,请对我的查询发表评论。
以上来自于谷歌翻译 以下为原文 Hi Miroslav, please give comment to my query. |
|
|
|
所以问题只是在“硬复位”这意味着电源循环,我的理解是否正确?
开机后和传感器配置之前,您的程序有延迟吗?如果没有,您可以添加它或增加延迟并检查问题是否仍然存在? 以上来自于谷歌翻译 以下为原文 So the problem is only in case 'hard reset' which means power cycle, is my understanding correct? Do you have a delay in you program, after power on and before sensor configuration? If not, can you add it or increase the delay and check if the problem persist? |
|
|
|
嗨,是的电源循环问题。我尝试了1到10秒的延迟,但我遇到了同样的问题。那么,现在我如何解决它?请帮帮我。
以上来自于谷歌翻译 以下为原文 Hi, Yes problem in power cycle. I have tried with 1 to 10sec of delay but I have facing same problem. So, now how I tackle it? please help me. |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2730 浏览 1 评论
3239 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1808 浏览 1 评论
3647 浏览 6 评论
6035 浏览 21 评论
1339浏览 4评论
198浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:23 , Processed in 1.156366 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号