1.毫米波雷达传感器调试过程,总结出以下在运行之前需要特别注意的点:
(1)把传感器两个USB串口插入电脑后,打开设备管理器查看两个端口号并填入到GUI界面的COM port(因为设备管理器这里并没有显示数据端口和载入端口,所以在运行的时候需要交换端口号试一下,成功运行并出现数据即为端口匹配正确)。
(2)在运行官方给的demo(VitalSignsRadar_Demo.exe)时,官方代码设置默认的cfg文件与当前使用的IWR6843不匹配,所以要更改成mmwave_industrial_toolbox_4_12_0\labs\Vital_Signs\68xx_vital_signs\gui\profiles里面两个文件的名称(复制文件名,粘贴到对应的Front/Back的框里),并且修改成对应的串口号,取消自动检测串口(Auto-Dect COM Ports会自动填充为两个相同的COM Port)的勾选
2.在调试程序过程中,出现过以下问题以及解决的过程:
(1)再打开GUI点击start运行程序之后,采集不到数据并且两个串口会自动填充成两个相同的串口号,在更换电脑运行之后这个问题仍然存在。
(2)经老师提示,cfg文件不匹配,需要更换成与当前型号相匹配的。于是每次运行程序前把mmwave_industrial_toolbox_4_12_0\labs\Vital_Signs\68xx_vital_signs\gui\profiles里面两个文件名称对应的复制过去,但是串口自动填充并且采集不到数据的问题仍然没有解决。(问题表现如下图)
(3)然后我对iwr6843模块进行了重新烧写,把官方工具箱里给的prebuilt_binaries里的vital_signs_demo_68xx.bin文件用CCS重新烧写了一遍。烧写完之后终于可以成功运行了,但是出现了和下面(4)一样的问题,命令行出现大量Data size is not OK。
(4)师兄在看过代码之后说要取消Auto-Dect COM Ports的勾选,不然程序会自动检测端口(命令行显示“device not open”的原因)并且自动填充串口号。
师兄修改的地方在于:注释掉了自动检测串口那行代码,程序能够成功运行,在刚开始运行的阶段能够成功打印采集到的数据,但是在打印部分数据后开始无法继续打印,出现
Data size is not OK的问题,
但在暂停一段时间之后,再继续运行就可以显示采集到的数据,运行一段时间之后又会出现同样的问题。暂停的时间越长,继续后能够显示的数据越多。
(5)注意到官方提供的程序输出数据的频率要比卖家的快很多,所以考虑是否为数据处理速度和缓冲区在查询不到对应字符串时没有及时清理缓冲区的问题。所以考虑在字符匹配失败后加一个延时函数QThread::msleep(100);也去查看了处理缓冲区数据的代码。
(6)在加了延时函数之后确实对于数据显示的问题有了一定的改善,但是问题没有从根本上解决,并且出现了新的问题——心率的图像无法显示。
(7)最后在师兄的帮助下找到了代码的问题,并作了修改。
(8)成功运行。
(9)补充:还修改了代码cfg文件部分,在运行的时候不需要再修改。