一、问题描述

在最近使用Ps串口中断的时候出现了一个很怪的现象:我一共使用了俩类中断:TTC中断以及串口中断,同时我在main函数中使用TTC中断标志使用printf打印了别的东西,结果出现了整个程序只能卡在串口中断

二、代码展示

image

如果将189-194行注释掉,那么整个系统是能够按照预期运行的,但是如果取消注释,那么就会出现整个系统只有串口中断运行,就连main函数中的基本语句也执行不了,比如按键点灯也无法运行。就是这么恶劣。

三、问题分析

最后是取消了使用串口向上位机发送数据,选择使用printf,解决了问题
但是猜测应该是串口的硬件结构造成了这个问题,就是同时使用uart和printf造成了硬件上的阻塞或者冲突,prinf与Uart_Send都是使用同一个硬件接口,在两处中断的时候使用Uart的时候就发生了冲突。
posted on 2024-11-25 15:39  天若手提滑铲  阅读(2)  评论(0编辑  收藏  举报