https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1244323/pga460-urm-got-back-0xff
器件型号:PGA460您好
我在 MCU 和 PGA 之间使用 UART 接口、设置预设1并发送 UMR 命令以获取距离测量响应、但 PGA 响应 缓冲器为0xFF、下图是 UART 通信中的测量、D2是 MCU 命令、D4是 PGA 响应。
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1244323/pga460-urm-got-back-0xff
器件型号:PGA460您好
我在 MCU 和 PGA 之间使用 UART 接口、设置预设1并发送 UMR 命令以获取距离测量响应、但 PGA 响应 缓冲器为0xFF、下图是 UART 通信中的测量、D2是 MCU 命令、D4是 PGA 响应。
谢谢!
Ricardo、您好!
您从 UMR 命令接收到0xFF 的原因是没有检测到回波。 没有检测到这种回波的原因有以下几个:
-阈值配置设置不正确
-信号没有产生
在大多数情况下、阈值不是直接配置的、因此您可能需要从配置开始。 您是否正在使用 GUI、还是在没有任何 GUI 帮助的情况下尝试配置器件? 我之所以提出这个问题、是因为可以更轻松地可视化如何在 GUI 上及时设置阈值、从而使得设置更加容易。
谢谢!
丹尼尔·巴尔马塞达
Daniel、您好!
感谢您的回答。
是的、我正在使用 GUI、我注意到在调整参数后、我仍然收到错误。 因此、我对 GUI 协议进行了反向分析。 我确认我发送的数据包顺序错误、它发送了以下信息:
pga460_WRITE_register (UART、EE_CNTRL_ADDR、0x80);
pga460_ultimal_cmd (uart、presset、obj);
(一)公司名称;
pga460_send_comand (UART、UMR);
delayms(2 + obj*8 );
pga460_WRITE_register (UART、EE_CNTRL_ADDR、0x00);
当我切换到这个时、它不起作用:
pga460_ultimal_cmd (uart、presset、obj);
(一)公司名称;
pga460_send_comand (UART、UMR);
delayms(2 + obj*8 );
pga460_WRITE_register (UART、EE_CNTRL_ADDR、0x80);
(十)
pga460_WRITE_register (UART、EE_CNTRL_ADDR、0x00);
它起作用了。