kinto 发表于 2025-3-17 12:21:04

定时器中断会影响串口接收数据

请问,定时器0中断打开后,串口1会偶尔收不到数据,串口1接收中断优先级为1,定时器0中断优先级为3,按理定时器0中断不会影响串口接收呀,请问有没有大神碰到过这个问题,请问是怎么解决的?

_奶咖君_ 发表于 2025-3-17 13:03:28

定时器定时时间是不是太短了,

DebugLab 发表于 2025-3-17 13:12:42

检查是否有以下问题:
定时器中断频率过高或在中断内执行耗时操作或在中断内等待了其他状态

jwd 发表于 2025-3-17 14:08:48

串口1不是用定时器1作为波特率发生器吧?

kinto 发表于 2025-3-17 14:30:26

jwd 发表于 2025-3-17 14:08
串口1不是用定时器1作为波特率发生器吧?

串口1使用的是定时器2

jwd 发表于 2025-3-17 14:54:21

是不是定时器0中断太频繁或者中断里面处理太多事务(尤其是使用了delay之类的阻塞函数)

Ayb_ice 发表于 2025-3-17 14:55:27

你设置了定时器0中断优先级高,如果中断中耗时较长,会影响串口接收,可以将定时器中断优先级设置低于串品中断

kinto 发表于 2025-3-19 22:02:16

_奶咖君_ 发表于 2025-3-17 13:03
定时器定时时间是不是太短了,

原来定时器中断是5ms,改成20ms还是偶尔会出现影响串口接收

kinto 发表于 2025-3-19 22:03:47

Ayb_ice 发表于 2025-3-17 14:55
你设置了定时器0中断优先级高,如果中断中耗时较长,会影响串口接收,可以将定时器中断优先级设置低于串品中断 ...

把串口优先级更改成高于定时中断,还是会出现有时串口接收不到数据

Ayb_ice 发表于 2025-3-20 08:26:15

kinto 发表于 2025-3-19 22:03
把串口优先级更改成高于定时中断,还是会出现有时串口接收不到数据

那可能程序架构不好吧
页: [1] 2
查看完整版本: 定时器中断会影响串口接收数据