【AB32VG1开发板测评】串口间通讯的收发异常问题及解决
本帖最后由 jinglixixi 于 2021-9-10 22:13 编辑<p style="text-align:justify">前面对串口间的通讯功能进行了测试,实现了 UART0发送 UART1接收的功能,但存在着UART1发送 UART0无回应的问题。</p>
<p>经再三的排查,才发现串口的回调函数仅对UART0进行了处理,却没有领会其它的串口的处理,这不能不说是一个小Bug,既然都可以对设备进行配置使用了,为什么不在检测后对所用到的其它串口添加相应的回调处理?只是插入一段代码而已的是事呀!</p>
<p>在drv_usart.c中需添加的内容以黄色标出以便识别,该程序如下:</p>
<p> </p>
<p> </p>
<p>在修改了回调函数后,即可解决前面所出现的问题,从而实现双向的通讯。</p>
<p>关闭UART1所占用的COM4,检测到由2个串口识别,见图1所示。</p>
<p>图1 显示串口识别</p>
<p>按图2所示,输入“thread_serial”,以向UART1发送字符串“hello RT-Thread!”,则可见到图3所示的接收内容。</p>
<p>图2输入指令</p>
<p>图3 接收信息</p>
<p>按图4所示由UART1向UART0发送字符串“AB32VG1”,则可见到图5所示的接收效果。</p>
<p>图4发送字符串</p>
<p></p>
<p>图5接收字符串</p>
<p>修改了回调函数后,就可实现双向通讯了,赞</p>
Jacktang 发表于 2021-9-12 09:38
修改了回调函数后,就可实现双向通讯了,赞
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/handshake.gif" width="48" /></p>
页:
[1]