Tm4c嵌套uart中断 - 每个com在下一个执行之前完成它的运行吗?

时间:2015-07-22 13:05:30

标签: interrupt uart interrupt-handling

董事会:Tiva™C系列TM4C1294

EK-TM4C1294XL

我的程序正在监听2个uarts端口(uart 3和7)

我遇到的问题是我失去了一些收到的字节,我怀疑这个问题与uarts中断有关。

我知道uarts有嵌套中断,但它们都是串行的吗?

例如:im在uart 3中断函数中然后当uart 3没有完成中断(只是将它们的字节复制到缓冲区)uart 7中断到达,系统是否移动到uart 7或者它将首先完成uart 3然后移动到uart 7?

目前我正在遭受错误字节,例如45-400字节的文件,其大小为12 MB

我怀疑上述问题导致了这个问题

p.s如果只有1个uart发送数据我在主机和PC上都有二进制相同的文件

由于

伊詹

1 个答案:

答案 0 :(得分:0)

取决于UARTx的中断优先级。如果UART7优先级更高,UART3将放弃对UART7的控制。事实上,单个UART可以成功地复制目标上的文件& PC,但是当两个UART在运行时,12Mb文件中的45+字节失败,这需要分析代码实现​​的摘录。如果您通过两个不同的UART复制相同的单个PC文件,则需要处理文件锁定机制或者您可以在PC上为每个UART尝试两个重复的文件副本以隔离问题