默认情况下,毫米波雷达演示实验接受通过 UART 配置命令,以使用所需的配置来配置器件。为了提供灵活性,这些命令通常存储在文本文件中并在启动时发送,但这需要 PC 连接并花费少量时间。远程使用器件或重复测量时,以下做法非常有用:将这些配置值“硬编码”,这样器件将引导、配置数据,将数据转换为线性调频脉冲,然后输出数据,而无需用户进行进一步的输入。
使用已构建的 CLI 驱动程序,可以非常轻松地将此功能添加到任何现有演示中。以下说明介绍了添加此功能的快速方法。
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.
默认情况下,毫米波雷达演示实验接受通过 UART 配置命令,以使用所需的配置来配置器件。为了提供灵活性,这些命令通常存储在文本文件中并在启动时发送,但这需要 PC 连接并花费少量时间。远程使用器件或重复测量时,以下做法非常有用:将这些配置值“硬编码”,这样器件将引导、配置数据,将数据转换为线性调频脉冲,然后输出数据,而无需用户进行进一步的输入。
使用已构建的 CLI 驱动程序,可以非常轻松地将此功能添加到任何现有演示中。以下说明介绍了添加此功能的快速方法。
#ifdef USE_HARD_CODED_CONFIG
int32_t hardCodedConfigIndex;
char * hardCodedConfigCommands[] =
{
"sensorStop ",
"flushCfg ",
"dfeDataOutputMode 1 ",
…
…
"!!!END_OF_HARD_CODED_COMMANDS"
};
#endif
在 while(1) 循环之前
添加一个部分以暂停任务,从而进一步进行系统初始化。如有需要,请添加一些 UART 打印以确保清晰。
#ifdef USE_HARD_CODED_CONFIG
hardCodedConfigIndex = 0;
CLI_write ("Wait some time for system to initialize...\n");
Task_sleep(100);
CLI_write ("Performing hard-coded config\n");
#endif
添加要在 cfg 参数(添加在文件顶部)的 cha 数组中读取的循环。这将替换 UART_read 行,以从 UART 连接获取 cfg 参数。如果 HCC 被关闭,则使用 #ifdef/#else 跳过此操作,以恢复到 UART 通信。
#ifdef USE_HARD_CODED_CONFIG
/* 运行硬编码命令,一次一个,直到到达“!!!END_OF_HARD_CODED_COMMANDS”:*/
if (hardCodedConfigCommands[hardCodedConfigIndex][0] != '!')
{
//CLI_write (hardCodedConfigCommands[hardCodedConfigIndex]);
CLI_write ("Command\n");
memcpy((void *)&cmdString[0], (void *)hardCodedConfigCommands[hardCodedConfigIndex],
strlen(hardCodedConfigCommands[hardCodedConfigIndex]));
hardCodedConfigIndex++;
}
/* 在完成所有硬编码命令后接受来自 UART 的命令:*/
else
{
/* 从 UART 读取命令消息:*/
UART_read (gCLI.cfg.cliUartHandle, &cmdString[0], (sizeof(cmdString) - 1));
}
#else
/* 从 UART 读取命令消息:*/
UART_read (gCLI.cfg.cliUartHandle, &cmdString[0], (sizeof(cmdString) - 1));
#endif