Part Number:PGA460
我想要使用PGA460的串口通信,程序用的GetDistance,但是使用之后出现ERROR – Did not receive measurement results!
我对照PGA460的库程序发现,还像是从下面开始出错的
请问这是什么问题呢
Kailyn Chen:
您好,我已经将您的问题在英文E2E上咨询美国工程师了,您可以直接在上面查看和跟进:
https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1082668/pga460-energia-debug
,
user6477655:
感谢你的帮助
我没有企业邮箱,麻烦你帮我回复一下。我可以取到pullEchoDataDumpBulk中的值,但是printUltrasonicMeasResult读不出来。而且460的OUTA口恒定输出9V高电平,而OUTB一直是0.变压器的1,2,3全是+9V,4,6端口是0V。
,
Kailyn Chen:
好的,英文论坛我帮您跟进一下。
,
Kailyn Chen:
您好,美国工程师已经在论坛上跟进您的问题,您可以去看下,是否能解决您的问题。 如不能,再联系。
,
user6477655:
感谢您的回复
这就是我的通信方式。
OUTA/OUTB两个引脚没有脉冲。OUTA一直保持高电平,OUTB一直是低电平。
EE_CNTRL=0x80.
void loop() { // put your main code here, to run repeatedly // -+-+-+-+-+-+-+-+-+-+- PRESET 1 (SHORT RANGE) MEASUREMENT -+-+-+-+-+-+-+-+-+-+- // objectDetected = false; // Initialize object detected flag to false ussc.ultrasonicCmd(0,numOfObj); // run preset 1 (short distance) burst+listen for 1 obj ussc.pullUltrasonicMeasResult(demoMode); // Pull Ultrasonic Measurement Result for (byte i=0; i<numOfObj; i++) { // Log uUltrasonic Measurement Result: Obj1: 0=Distance(m), 1=Width, 2=Am、plitude; Obj2: 3=Distance(m), 4=Width, 5=Amplitude; etc.; distance = ussc.printUltrasonicMeasResult(0+(i*3)); //width = ussc.printUltrasonicMeasResult(1+(i*3)); // only available for UART, OWU, and SPI //peak = ussc.printUltrasonicMeasResult(2+(i*3)); // only available for UART, OWU, and SPI delay(commandDelay); if (distance > minDistLim && distance < 11.2) // turn on DS1_LED if object is above minDistLim { ussc.toggleLEDs(HIGH,LOW,LOW); Serial.print("P1 Obj"); Serial.print(i+1); Serial.print(" Distance (m): "); Serial.println(distance); //Serial.print("P1 Obj"); Serial.print(i+1); Serial.print(" Width (us): "); Serial.println(width); //Serial.print("P1 Obj"); Serial.print(i+1); Serial.print(" Amplitude (dec): "); Serial.println(peak); objectDetected = true; }
Communication Mode: 0=UARTUART kBaud: 0=9.6P1 and P2 Thresholds: 1=%50Transducers Settings: 1=Murata MA40M1S-RTVG Range: 2=53-84dBFixed TVG Level: 1=%50Minimum distance: 0.1m*BYTE (I wrote 1 for BYTE) => 0.1*1= 0.1mRun System Diagnotistics: 1=YesEcho Data Dump: 1=P1BLBurn/Save User EEPROM: 1=YesCommand Cycle Delay: 100ms*BYTE (I wrote 1 for BYTE) => 100*1=100msNumber of Objects to Detect (1-8) = 1USART Address of PGA460 (0-7) = 0
感谢你的帮助!
,
Kailyn Chen:
好的,我已经帮您在E2E上跟进。
,
user6477655:
感谢您的帮助
我是用的是TXD和RXD接口通信,我可以读取Echo Data Dump中的数据,但是Ultrasonic Measurement Results读不出来
,
Kailyn Chen:
您好,哪个电路图是您目前有问题的电路?下面最新的电路像是copy EVM 板子的电路,和上面的不一样。
,
user6477655:
下面的
,
Kailyn Chen:
好的,我这边帮您再跟进一下。
,
user6477655:
感谢你的帮助
请问Ultrasonic Measurement Results的结果,是存在哪个寄存器中呢,为什么取不出来呢
,
Kailyn Chen:
您好,已在英文E2E上跟进。
,
user6477655:
感谢你的帮助
我在你们的板子上使用GetDistance,可以返回超声测量结果。为什么我的不行呢?
而且我通过串口发送0X55 0X00 0X01 0XFE 0X55 0X05 0XFA,没有任何回复,还有我想知道命令中的FE和FA是什么意思?
,
Kailyn Chen:
user6477655 说:还有我想知道命令中的FE和FA是什么意思?
您好,F代表的二进制是1111,十进制是15,E代表的二进制1110,十进制的值是14. A代表的二进制是1010, 十进制的值是10.
即十进制10~15,用A~F表示。
不知您是不是问的这个意思呢。
,
user6477655:
感谢你的回复
我想知道是怎么算出来的,还有我通过串口发送命令,但是还是收不到结果
,
Kailyn Chen:
您好,您都是按照英文E2E上美国工程师给的建议去做的吧?
我再帮您跟进一下。
,
user6477655:
您好,我按照流程去操作,没有受到数据。感谢你的帮助
,
Kailyn Chen:
美国工程师已给您回复,您这边有结果吗?
,
user6477655:
感谢您的帮助
但是我手里没有逻辑分析仪,另外我使用的微控制器是MSP460F5529
我使用示波器发现RXD引脚显示没有信号,而TXD引脚噪声很大
,
Kailyn Chen:
好的,已经帮您跟进。 等待美国工程师的回复。