请教大家,如何在Timer内发送串口信息 | 已解决
请教大家,如何在Timer内发送串口信息,有什么需要特殊注意的吗在Timer1中计数后进行触发发送串口消息,参考了例子程序。但是在main启动过程的Uart2SendStr("Uart Test !\r\n"); 能发送成功,在Timer isr中的Uart2SendStr("TRIGER");发送不成功,而且会把timer的中断卡主,中断停下来了。
大家帮忙看看在Timer里面要发送串口信息应该注意什么。非常感谢大家!
不要在中断中处理太多事务,你可以在定时中断里设置标志位,主程序处理发送 jwd 发表于 2024-5-25 22:53
不要在中断中处理太多事务,你可以在定时中断里设置标志位,主程序处理发送 ...
好的谢谢,在 main的while中发送,这样修改试下
还想知道什么原因在timer的isr里面发送串口消息会直接停住isr的定时,好像一直没有返回当前isr一样 i_zw 发表于 2024-5-26 09:25
好的谢谢,在 main的while中发送,这样修改试下
还想知道什么原因在timer的isr里面发送串口消息会直接停 ...
串口中断的预设优先级比定时器低
所以串口中断不能打断定时器中断
你在定时器中断内发送串口
发了一个字符后死等busy清零
但busy清零需进入串口中断内运行的
于是busy不能被清零
死循环了 Lkck8210 发表于 2024-5-26 23:32
串口中断的预设优先级比定时器低
所以串口中断不能打断定时器中断
你在定时器中断内发送串口
谢谢提示,按指点在timer里面设置标志,在main的while里面发送串口数据就正常了。
页:
[1]