找回密码
 立即注册
查看: 339|回复: 3

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

[复制链接]

该用户从未签到

1

主题

1

回帖

33

积分

新手上路

积分
33
发表于 2023-8-16 20:40:02 | 显示全部楼层 |阅读模式
我今天在尝试使用stc官方的库代码的时候发现定时器的设置是预编译的

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

然后发现自己的Timer0_Reload变量在预编译的时候会报错,报timer0的设置的中断过快。
屏幕截图 2023-08-16 202700.png

屏幕截图 2023-08-16 202744.png



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

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

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-8-16 22:40:45 | 显示全部楼层
肯定不会烧坏单片机。过快,频繁中断。打断主程序运行,导致主程序运行卡顿。当然定时器中断函数处理需要尽快完成,比如只是标志位置位,或者几十条指令,问题不大。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

1

主题

1

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2023-8-16 23:32:09 | 显示全部楼层
熊仔 发表于 2023-8-16 22:40
肯定不会烧坏单片机。过快,频繁中断。打断主程序运行,导致主程序运行卡顿。当然定时器中断函数处理需要尽 ...

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

点评

定时器16位自动重载模式,定时器中断里面不要关闭定时器,误差很小的,误差取决于系统时钟  详情 回复 发表于 2023-8-19 14:37
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-8-19 14:37:54 | 显示全部楼层
a119104364 发表于 2023-8-16 23:32
好的,谢谢。看来我可以放心的把这段预编译的#if代码删除掉了,直接往寄存器写值。我想了想,用i++的方式 ...

定时器16位自动重载模式,定时器中断里面不要关闭定时器,误差很小的,误差取决于系统时钟
回复 支持 反对 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-6-14 23:42 , Processed in 0.077196 second(s), 47 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表