标题:
51单片机开启多个定时器,相互影响该怎么办?
[打印本页]
作者:
sr861126
时间:
2023-5-5 13:30
标题:
51单片机开启多个定时器,相互影响该怎么办?
C51,开启T0,T1,USART1,就只能用一个定时器T1,是什么问题?
作者:
Hephaestus
时间:
2023-5-5 15:19
原因太多了,先关掉T1,看看T0能不能用,如果不能用就是你的T0代码写错了,如果能用就检查T1代码在哪里占用了全部CPU资源。
作者:
wulin
时间:
2023-5-5 15:52
51单片机的定时器是独立硬件,同时工作互不影响。开定时器中断有可能相互影响。只要规划合理,开多个定时器中断没有问题,互相没有什么影响或其影响微乎其微,可忽略不计。
作者:
angmall
时间:
2023-5-5 15:53
在51单片机中,T0和T1定时器是两个独立的计时器,它们之间不会相互影响。因此,你可以同时使用T0和T1定时器。
另一方面,当你启用UART模块时,USART1的接收和发送中断也可能会使用T1计时器。这可能会导致T1定时器与UART模块中断之间发生冲突,导致它们不能同时工作。
为了解决这个问题,你可以考虑使用不同的定时器作为UART模块的时钟源,例如使用T0定时器或者一个独立的波特率发生器作为UART模块的时钟源。这样可以避免T1定时器与UART模块中断之间的冲突,使它们能够同时工作。
同时,你也需要确保在编写中断服务程序时,正确地处理多个中断源的优先级和中断嵌套的问题。这将确保在多个中断同时发生时,系统能够正确地响应每个中断请求。
作者:
河边洗脚人
时间:
2023-5-5 16:38
具体的定时中断允许位打开了吗
作者:
sr861126
时间:
2023-5-5 17:58
angmall 发表于 2023-5-5 15:53
在51单片机中,T0和T1定时器是两个独立的计时器,它们之间不会相互影响。因此,你可以同时使用T0和T1定时器 ...
我用T2,就不会冲突了
作者:
coody_sz
时间:
2023-5-6 11:17
硬件上,各个定时器都是相互独立、互不干扰的,怎么会相互影响?仔细检查程序吧。像STC的一些型号有5个定时器,Timer0、1、2、3、4,每个都独立,互不干扰。
作者:
18723347884
时间:
2023-5-6 14:29
都是相互独立的 应该不会干扰
作者:
rayin
时间:
2023-5-7 11:41
定时器都是独立的,各自有中断处理, 但是需要确定好中断优先级, 以及中断时间间隔.
作者:
huangjingjie
时间:
2023-5-7 11:43
优先级
作者:
153846
时间:
2023-5-7 14:43
首先中断是又先后顺序的所以,需要先定义IP然后就不会出现混乱的感觉
作者:
li64331218
时间:
2023-5-7 15:00
理论上是相互独立的,不受影响,仔细检查代码,优化一下
作者:
yhryhryhryyy
时间:
2023-5-7 15:16
两个定时器用中断 设定优先级-----对于实时性要求不是特别强的应用,是可以满足要求的,而且虽然互相干扰,也是可以接受的,在定时器中断中通过设定flag标志位来触发事件,具体的事件的具体执行在中断外执行-------也就是在中断里只置位或清事件的标志位,中断里的程序执行时间尽可能小,越小两个定时器互相干扰的就越少。
作者:
hzsweet
时间:
2023-5-8 09:32
定时器都是独立的,各自有中断处理,应该是优先级没有设置好
作者:
univers
时间:
2023-5-8 11:13
200%都是代码写错了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1