a119104364 发表于 2023-8-16 20:40:02

stc32的定时中断设置不符合会对单片机有什么损害吗?

我今天在尝试使用stc官方的库代码的时候发现定时器的设置是预编译的

然后我本来想把原来的定时器的值注释掉,用我自己的变量来代替,因为我想要在后面更改定时器的值。

然后发现自己的Timer0_Reload变量在预编译的时候会报错,报timer0的设置的中断过快。






现在我只能选择多写一个函数,然后用i++的方式来得到我想要的时间。

所以定时器有这个预编译是因为stc32有什么限制吗?比如定时太短会把单片机烧掉之类?我在程序运行的时候再输入TH0和TL0的值会不会有什么影响?

熊仔 发表于 2023-8-16 22:40:45

肯定不会烧坏单片机。过快,频繁中断。打断主程序运行,导致主程序运行卡顿。当然定时器中断函数处理需要尽快完成,比如只是标志位置位,或者几十条指令,问题不大。

a119104364 发表于 2023-8-16 23:32:09

熊仔 发表于 2023-8-16 22:40
肯定不会烧坏单片机。过快,频繁中断。打断主程序运行,导致主程序运行卡顿。当然定时器中断函数处理需要尽 ...

好的,谢谢。看来我可以放心的把这段预编译的#if代码删除掉了,直接往寄存器写值。我想了想,用i++的方式还是不太靠谱,多次中断累积的定时误差估计会很大。

熊仔 发表于 2023-8-19 14:37:54

a119104364 发表于 2023-8-16 23:32
好的,谢谢。看来我可以放心的把这段预编译的#if代码删除掉了,直接往寄存器写值。我想了想,用i++的方式 ...

定时器16位自动重载模式,定时器中断里面不要关闭定时器,误差很小的,误差取决于系统时钟
页: [1]
查看完整版本: stc32的定时中断设置不符合会对单片机有什么损害吗?