STC15W4K56S4串口1用定时器1模式0,发完中断T1不置1为什么?ET1和EA都是打开的情况下啊!
1个回答
关注
展开全部
咨询记录 · 回答于2023-04-05
STC15W4K56S4串口1用定时器1模式0,发完中断T1不置1为什么?ET1和EA都是打开的情况下啊!
您好,STC15W4K56S4是一种单片机芯片,串口1和定时器1都是其内部模块。若使用定时器1模式0来产生定时器中断,需要在中断服务函数中及时将T1标志位清零。如果你使用了定时器1模式0,那么当定时器T1计数完成之后会产生定时器中断,并把T1标志位置1。但是在中断服务函数中,你需要手动将T1标志位清零,否则T1标志位将保持为1,不会自动清零。如果ET1和EA都被打开,但是T1标志位没有被置1,可能是因为在中断服务函数中没有清零T1标志位。你可以在中断服务函数中加入清零代码,例如:`TF1 = 0;`,以确保T1标志位被正确地清零。
本回答由意法半导体(中国)投资有限公司提供