您好!
每当我使用自己的 C 程序配置器件时、我都很难从 IWRBOOST 接收"DONE"字符串。
我将通过串行 UART 配置以115200波特率逐一发送以下字符数组。
如果我先使用 Visualizer 配置器件、然后尝试使用我自己的程序发送以下数组、那么我将收到我发送的确切行、但不使用"DONE"。 字符串。 (请注意、接收数组的长度为100字节、因此我认为接收整个确认应该足够了。)
如果我不使用 Visualizer 配置器件、而是尝试使用相同的 C 程序配置器件、我将不会从串行器件中接收任何内容。 串行读取将超时。
我是否正在发送正确的序列,且\n 在行的末尾? 我还将添加每行20ms 的延迟。
char aTxLine1[]="dfeDataOutputMode 1\n";
char aTxLine2[]="通道配置15 3 0\n";
char aTxLine3[]="adcCfg 2 1\n";
char aTxLine4[]="adcbufCfg 0 1 1\n";
char aTxLine5[]="profileCfg 0 77 30 7 62 0 60 1 128 2500 0 30\n";
char aTxLine6[]="啁 啾 Cfg 0 0 0 0 0 0 0 1 \n";
char aTxLine7[]="chirpCfg 1 0 0 0 2 \n";
char aTxLine8[]="frameCfg 0 1 128 0 50 1 0\n";
char aTxLine9[]="低功耗0\n";
char aTxLine10[]="guiMonitor 1 0 0\n";
char aTxLine11[]="doaCfg 600 1875 30 1\n";
char aTxLine12[]="SceneryParam - 2 2 0.05 6\n";
char aTxLine13[]="GatingParam 4 3 2 0\n";
char aTxLine14[]="StateParam 10 5 100 5\n";
char aTxLine15[]="AllocationParam 250 0.01 5 1 2\n";
char aTxLine16[]="VariationParam 0.289 0.289 1.0\n";
char aTxLine17[]="trackingCfg 1 2 250 20 200 50 90\n";
char aTxLine18[]="sensorStart\n";
代码对所有行重复如下:
/*发送行*/
if (false =libserialcomms_WriteData (handle、aTxLine1、sizeof (aTxLine1)、numOfBytesWr))
{
fprintf (stdout、"写入失败!\n");
返回 STATUS_ERROR;
}
睡眠(延迟);
/*从设备接收 ACK */
if (false =libserialcomms_ReadData (handle、data、line_buff、numOfBytesRd、timeout))
{
fprintf (stdout、"读取失败\n");
返回 STATUS_ERROR;
}
如果器件首先由 Visualizer 进行配置、
输出:
DfeDataOutputMode 1
mmwDemo:/>
通道配置15 3 0
mmwDemo:/>
ADCfg 2 1.
mmwDemo:/>emo:/>
(依此类推)
如果器件未由 Visualizer 进行配置、只需我的程序即可
输出
没有