[STM32U5] STM32F407 在定时中断中向串口发送数据,为什么会陷入死循环

[复制链接]
 楼主| 叶花永不相见 发表于 2022-9-27 17:21 | 显示全部楼层 |阅读模式
定时器中断服务函数代码如下:
//定时器TIM2(mcuitf接口的tm0)中断函数
void ir_func_tm0()
{
        if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
        {
                USART_SendData(USART1, 'A');
                while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
                TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
        }
}

为什么会陷入while循环里呀,好让人费解啊。请各位不吝赐教,万分感谢。

myscj007 发表于 2022-9-29 13:59 | 显示全部楼层

STM32F407 在定时中断中向串口发送数据,为什么会陷入死循环

你在一个中断中让他产生另一个中断,那你要看看你的中断的优先级的问题

评论

我设置了,但还是卡死在while循环  发表于 2022-9-29 19:58
天意无罪 发表于 2022-9-29 21:13 | 显示全部楼层
USART1的配置函数怎么写的?用串口工具看看能不能收到USART1发送的数据“A”字符不?
foxsbig 发表于 2022-10-2 14:05 | 显示全部楼层
只一个中断,能看出死循环来?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部