最近做低温测试时发现,板子在0℃以下启动,SPI总线有时候不响应主机命令,感觉像“醒
之前UART工作挺正常的,后来改了NVIC优先级,结果偶尔收不到数据或者发不出去,好像被“打断”了。怀疑是优先级或DMA冲突引起的,但逻辑没想清楚。建议你逐个禁用其他中断,看哪个影响UART最明显。 我遇到过一样的情况,最后是DMA中断优先级太低导致漏响应。 建议先把UART和DMA优先级都调成一样,测试看看。 我觉得可能是中断嵌套导致的,UART中断没及时处理完。 是不是有别的外设频繁打断?比如定时器中断比较高。 我有次改了优先级后,调试口也不工作了,真难排。 可以在中断里加标志位看看是哪一段逻辑没执行到。 如果用RTOS,还要注意任务切换延迟,这也可能影响中断响应。 我觉得是嵌套中断导致的延时,你可以用逻辑分析仪抓抓波形。 我曾经用printf调试UART中断,最后发现反而是printf卡住。 DMA中断优先级太低导致漏响应 若某中断 ISR 耗时超过 100μs,必须优化 UART中断没及时处理完。
页:
[1]