396837_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

396837_zh-CN

396837_zh-CN

在 MPL3115_Init 中,传感器融合的初始化有时会挂起 ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我发现在使用传感器融合时,我的应用程序有时会在启动时挂起。我起初怀疑是我的代码出了问题,但后来我发现了一些问题。

执行几秒钟后,用调试器暂停执行,发现程序在 MPL3115_Init 中永远循环,等待 I2C 回调发送 "已发送 "标志

 

67480_67480.pngUntitled.png

 

调试器显示 MPL3115_I2C_Error 为 0

 

我使用的是 KL46Z

到目前为止,我的代码没有与任何传感器或 I2C 进行交互。

知道发生了什么事吗?

传感器融合Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我还忘记确切地说,在两次代码运行之间保持蓝牙串行端口(以及蓝牙模块)的连接肯定会干扰自由板的启动,你说得完全正确。

基本上,板从不在 user_tasks.c 中运行任务如果在闪烁期间连接了蓝牙。不过,在执行过程中,我发现使用 KDS 调试器和蓝牙串行端口都没有问题。我可以很好地调试我的代码,也可以很好地接收数据。

我只是想分享一下反馈意见,也许对其他一些人有用。

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

好极了

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我重新焊了几个焊点,现在问题似乎解决了。好消息

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

子卡上的 J7 是我指的套头衫。它就在蓝牙模块旁边。

没错,坏焊点也会出现你描述的症状。 而且我保证,如果你拆下防护罩,软件会挂起。

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我试着移除电源跳线,但 USB 串行端口上根本接收不到任何信息。我仔细检查了端口,硬线串口连接良好。

从子卡的示意图来看,我相信我需要改为旋转蓝牙接口中 UART_TX/RX 上的方形跳线。迈克尔,你能确认一下吗?还没有机会测试

另外,我注意到重现 I2C 错误的一种简单方法是移除子卡。所以我想,如果 KL46Z 针座上的焊锡坏了,结果可能是一样的。我在板接头引脚上发现了一个可能有问题的焊料,我会试着修复它然后告诉你结果

感谢您的支持

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

雷米

这可能与 MPL3115A2 无关。 在 KL46Z 上,同一个 UART 被路由到蓝牙模块,用于通过 OpenSDA 进行串行通信。 如果两个人都试图使用它,就会产生冲突。 试着在调试时移除蓝牙模块上的电源跳线,看看是否能解决问题。

Mike

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你好 Michael,我正在使用这个板,它确实包括 MPL_3115A2:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-FXS-MULT2-B

目前,我的应用程序通过蓝牙串行端口与计算机交换数据,奇怪的是,当我不连接蓝牙串行端口(LED 灯保持蓝色)并重新启动调试时,问题似乎发生得更频繁。但我不确定这是否完全与此有关,我需要再做一些测试。

是否有可能在蓝牙上保持串行端口处于打开状态,可能会冻结 KL46Z I2C 总线?我觉得不太可能

MPL3115 是第一个被初始化的传感器,还是第一个使用 I2C 的传感器?

我将尝试找到一种一致的方法来重现该问题

Re: Initialization of sensor fusion sometimes hangs in MPL3115_Init ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你使用的是哪个传感器板?9 轴板不包含 MPL3115A2。如果你有 9 轴板,或者你的应用程序不需要 MPL3115A2,可以注释掉 build.h 中写着 " #define USE_MPL3115A2 " 的那句话。

Tags (1)
No ratings
Version history
Last update:
‎02-04-2026 04:41 AM
Updated by: