主题中讨论的其他器件:、 ENERGIA、 TIDA-01597、 SN65HVDA100-Q1
您好,
我们的客户使用 了 OWU 通信来控制 PGA460, 他希望通过串行端口将数据传输到 PC,但串行端口始终显示错误: 未收到测量结果!
该程序以前已经推出。
此致
Kailyn
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.
您好,
我们的客户使用 了 OWU 通信来控制 PGA460, 他希望通过串行端口将数据传输到 PC,但串行端口始终显示错误: 未收到测量结果!
该程序以前已经推出。
此致
Kailyn
您好、Jacob、
感谢你的答复。
以下是寄存器配置:
USER_Data1 = 0x00;
USER_DATA2 = 0x00;
USER_DATA3 = 0x00;
USER_DATA4 = 0x00;
USER_Data5 = 0x00;
USER_DATA6 = 0x00;
USER_DATA7 = 0x00;
USER_DATA8 = 0x00;
USER_DATA9 = 0x00;
USER_DATA10 = 0x00;
USER_DATA11 = 0x00;
USER_DATA12 = 0x00;
USER_DATA13 = 0x00;
USER_DATA14 = 0x00;
USER_DATA15 = 0x00;
USER_DATA16 = 0x00;
USER_DATA17 = 0x00;
USER_DATA18 = 0x00;
USER_DATA19 = 0x00;
USER_DATA20 = 0x00;
TVGAIN0 = 0xAA;
TVGAIN1 = 0xAA;
TVGAIN2=0xAA;
TVGAIN3 = 0x82;
TVGAIN4 = 0x08;
TVGAIN5 = 0x20;
TVGAIN6 = 0x80;
INIT_GAIN = 0x60;
频率= 0x8F;
死区时间= 0x09;
如果(comm==2)
{
PULSE_P1 = 0xA0 | 0x04;
}
/*else
{
PULSE_P1 = 0x04;
}*/
PULSE_P2 = 0x10;
CURR_LIM_P1 = 0x55;
CURR_LIM_P2 = 0x55;
REC_LENGTH = 0x19;
FREQ_DIAG = 0x33;
SAT_FDIAG_TH = 0xFE;
FVOLT_DEC = 0x7C;
DECPL_TEMP = 0x4F;
DSP_SCALE = 0x00;
TEMP_TRIM = 0x00;
P1_GAIN_CTRL = 0x09;
P2_GAIN_CTRL = 0x09;
此致
Kailyn
您好、Jacob、
非常感谢、TXD 和 RXD 与 MCU 正确连接、二极管确实相反。 他已根据 TI 原理图正确放置了二极管。 现在、他怀疑问题是由程序引起的、之前使用 过 BOOTXL-PGA460、现在使用了自己的板、但没有更改程序。 他使用 了 Energia 的 getdisance、还使用了 Energia 的 busdemo。 这两种情况都出现 错误-未收到测量结果!。
此致
Kailyn
您好 Jacob,
寄存器 设置、但读回值始终为零。
字节 pga460::registerRead (字节 addr)
{
字节数据= 0x00;
字节 temp = 0;
如果(comm==2)
{
owuShift = 1;// OWU 接收缓冲区偏移以忽略已发送的数据
}
其他
{
owuShift = 0;
}
pga460SerialFlush();
regAddr = addr;
字节 buf9[4]={synctyte、srr、regAddr、calcChecksum (SRR)};
if (comm==0 || comm==2)// UART 或 OWU 模式
{
SERIAL1.write (buf9、sizeof (buf9));
}
如果(comm==3)// SPI 模式
{
spiTransfer (buf9、sizeof (buf9));
}
延迟(10);
if (comm==0 || comm==2)// UART 或 OWU 模式
{
for (int n=0;n<3;n++)
{
if (n=1-owuShift)
{
SERIAL1.write (buf9、sizeof (buf9));
//data = Serial1.read();//存储读取的数据
}
/*否则
{
temp = Serial1.read();
}*/
}
}
如果(comm==3)// SPI 模式
{
spiModidle(3);
数据= MisoBuf[1];
}
返回数据;
}
在energia代码:μ A
Serial.begin(19200);
ussc.initBoostXLPGA460(2,19200,0);
}
void loop(){
//将主代码放在此处,重复运行:
USSC.registerWrite (0x14、0xAF);
USSC.registerWrite (0x15、0xFF);
USSC.registerWrite (0x16、0xFF);
USSC.registerWrite (0x17、0x2D);
USSC.registerWrite (0x18、0x68);
USSC.registerWrite (0x19、0x36);
USSC.registerWrite (0x1A、0xFC);
USSC.registerWrite (0x1B、0xC0);
USSC.registerWrite (0x1C、0x8C);
USSC.registerWrite (0x1D、0x00);
USSC.registerWrite (0x1F、0x12);
USSC.registerWrite (0x1E、0x01);
USSC.registerWrite (0x14、0xAF);
USSC.registerWrite (0x15、0xFF);
USSC.registerWrite (0x16、0xFF);
USSC.registerWrite (0x17、0x2D);
USSC.registerWrite (0x18、0x68);
USSC.registerWrite (0x19、0x36);
USSC.registerWrite (0x1A、0xFC);
USSC.registerWrite (0x1B、0xC0);
USSC.registerWrite (0x1C、0x8C);
USSC.registerWrite (0x1D、0x00);
USSC.registerWrite (0x1F、0x12);
USSC.registerWrite (0x1E、0x01);
serial.print ("TVGAINO:");
serial.print (USSC.registerRead (0x14)、hex);
此致
Kailyn