Other Parts Discussed in Thread: DLPC150
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: DLPNIRNANOEVM
主题中讨论的其他器件: DLPC150
开发光谱仪时、DLPC150 的内部测试模式已经过调试并正常工作。 然而、当为外部 RGB 信号配置 DLPC150 时、每次写入配置时、都会首先使用 0xD3 命令读取通信状态、然后使用 0xD0 命令读取短状态。 DLPC150 以这种方式按顺序配置。 问题是 0xD3 和 0xD0 返回的状态不一致(请参阅下面的屏幕截图)。 配置代码如下所示:
if(dlpc150_imageCrop() != PASS)
{
debug_print(" Failed to set dlpc150_imageCrop\r\n");
return FAIL;
}
vTaskDelay(200);
debug_print(" Configuring for RGB port input mode...\r\n");
dlpc150_GetCommunicationStatus();
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
debug_print("ShortStatus = %x\r\n",states);
vTaskDelay(200);
if (dlpc150_SetDefaultDisplaySize() != PASS)
{
debug_print(" Failed to set default display size\r\n");
return FAIL;
}
vTaskDelay(200);
debug_print(" Set default display size\r\n");
dlpc150_GetCommunicationStatus();
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
debug_print("ShortStatus = %x\r\n",states);
vTaskDelay(200);
if (dlpc150_SetDefaultInputImageSize() != PASS)
{
debug_print(" Failed to set default input image size\r\n");
return FAIL;
}
vTaskDelay(200);
debug_print(" Set default input image size\r\n");
dlpc150_GetCommunicationStatus();
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
debug_print("ShortStatus = %x\r\n",states);
vTaskDelay(200);
source = INPUT_SOURCE_RGB; // 0x00
if (dlpc150_inputSourceSelect(source) != PASS)
{
debug_print(" Failed to select RGB source\r\n");
return FAIL;
}
vTaskDelay(200);
debug_print(" Selected RGB source\r\n");
dlpc150_GetCommunicationStatus();
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
debug_print("ShortStatus = %x\r\n",states);
vTaskDelay(200);
if (DLPC150_SetSyncPolarity(0x07) != PASS)
{
debug_print(" Failed to Set SyncPolarity\r\n");
return FAIL;
}
vTaskDelay(200);
debug_print(" success to Set SyncPolarity\r\n");
dlpc150_GetCommunicationStatus();
vTaskDelay(200);
DLPC150_GetShortStatus(&states);
debug_print("ShortStatus = %x\r\n",states);
vTaskDelay(200);
if (dlpc150_SetHWLockMode() != PASS)
{
debug_print(" Failed to set HW lock mode\r\n");
return FAIL;
}
debug_print(" Set HW lock mode (24-bit)\r\n");
vTaskDelay(30);
调试打印输出如下、为什么 0xD0 短状态命令的返回值 0x81 正确、但 0xD3 读取通信状态命令返回错误? 如何解决此问题? 通过观察打印调试信息、在 dlpc150_SetDefaultDisplaySize() 之后出现错误:


