|
之前已经实现了USART的DMA加IDLE中断不定长字节接收,加上液晶显示模块LM6059驱动。下面将所有功能进行组合。
雷达数据处理方面,雷达数据相关分析可以参考我之前的测评的帖子:【TI毫米波雷达测评】_6_AWR1843BOOST UART输出数据分析。USART接收数据仅仅只接收了波形数据,实际雷达模块的数据是可配置的,还有更多的信息。处理函数为usart_comm_protocol(),
液晶显示波形方面,仅仅显示一屏波形数据,绘图函数为LCD_DrawEchoOriginal():
单片机总体处理的大概流程如下:
需要说明的是这里面还增加了LPTIME做PWM,用于控制4-20mA输出,这里就直接接了LED和万用表来指示。由于只在室内,如果直接关联雷达距离的话也不明显,所以直接每1秒接到一个雷达数据包就变一点。LPTIME例程采用的是32K时钟,PWM输出频率固定为1k,然后改变高电平的时间长短来控制输出的电压。测试视频如下:
下面是开发板的连线,比较乱:
最后是一个简单的演示:
附件是代码,将它们放入GD32L23x_Demo_Suites_V1.1.0\GD32L23x_Demo_Suites_V1.1.0\GD32L233R_EVAL_Demo_Suites\Projects\06_USART_DMA里面即可。