Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

C6678 UART异常处理方案

$
0
0

在调试串口时发现以下现象,会导致串口接收中断收不到:

第一步,在板卡上电之前就通过串口调试助手连续向板卡发送数据(如SSCOM42工具,每19ms发送29个字节,保证串口链路上绝大部分比例时间都有信号在传输)。

第二步,通过仿真器下载程序进行调试,完成UART与相应中断初始化配置后,此时进入不了串口接收中断,查看串口相关寄存器如下:

下图是异常情况下的串口寄存器数值:

为了进行对比,我们在正常情况下(即程序没有完成串口初始化之前不让外部SSCOM向板子发送数据)截取了串口寄存器如下:

在程序未完成UART初始化配置前,SSCOM42不发送数据与SSCOM42连续发送数据的寄存器差异主要是Line Status Register寄存器(0x 02540014)

SSCOM42连续发送数据时,Line Status Register寄存器的RXFIFOE,FE,OE比特位置1。

咨询解决上述问题时的解决方案,使得UART能重新通过中断正常接收数据。


Viewing all articles
Browse latest Browse all 5545

Trending Articles