Other Parts Discussed in Thread: PGA460-Q1, PGA460, , ENERGIA
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.
您好,
您可以详细描述您的操作吗?您在使用什么读取? PGA460-Q1 工作在什么模式下? USART mode 还是 OWI mode,跳线帽是否做了相应的配置?供电是否正常?您提供的信息越多越能有效地解答您的问题
我用的官方的registerread和registerwritte.pga460的通信用的是USART mode供电正常。另外我使用的是PGA460PSM-EVM。还有就是我使用Getdistance通过串口提取检测结果时,发送驱动命令,换能器没反应。
Energia的程序如下
void setup() {
// put your setup code here, to run once:
//initPGA460();
Serial.begin(9600);
ussc.initBoostXLPGA460(3,128,0);
ussc.registerWrite(0x1E, 0x01);
Serial.print(ussc.registerRead(0x1E),HEX);}
波形我暂时看不了,我觉得通信应该没有问题,因为使用UART接口可以收到EDD,但是距离什么没有。换能器也没有相应。是不是地址乱了。请问有没有办法把他清0呢?
很抱歉回复晚了,由于某些原因,我没有收到帖子回复通知。我不确定您说可以收到EDD含义是什么?或者说是换能器没有响应?
通常,如果您发送测量命令,但设备未获得任何结果,则结果通常不是零,而是基于测量时间的最大值。如果您确认设备可以通信,您是否确保了在尝试进行测量之前将所有阈值寄存器写入设备?
有一种方法在断电后可以保存寄存器0x1F的值,因为0x1F寄存器是EEPROM存储器(非易失性存储器)的一部分,因此它可以在电源掉电后保存。
在上电时,PGA460将所有EEPROM值0h-2Bh加载到设备设置上,如果您想要不同的默认值,则需要对希望加载到EEPROM中的值进行编程。以下是有关如何对EEPROM进行编程的数据表截图:

已得到回复,他认为您的问题是没有对EEPROM进行批量写入。如果通过UART通信,则可以使用command 12来完成此操作。

您需要写入EEPROM寄存器,以便将其刻录到EEPROM中,并在电源循环时可用。如果您只是正常写入寄存器而不是EEPROM寄存器,则不会更新刻录到EEPROM的值。
Energia示例代码的PGA460_USSC.cpp代码中有一个示例。函数的名称是defaultPGA460。