打印
[STM32U5]

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

[复制链接]
1406|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
定时器中断服务函数代码如下:
//定时器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 在定时中断中向串口发送数据,为什么会陷入死循环

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

使用特权

评论回复
评论
叶花永不相见 2022-9-29 19:58 回复TA
我设置了,但还是卡死在while循环 
板凳
天意无罪| | 2022-9-29 21:13 | 只看该作者
USART1的配置函数怎么写的?用串口工具看看能不能收到USART1发送的数据“A”字符不?

使用特权

评论回复
地板
foxsbig| | 2022-10-2 14:05 | 只看该作者
只一个中断,能看出死循环来?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝