- 打卡等级:以坛为家II
- 打卡总天数:435
- 最近打卡:2025-05-04 20:54:20
荣誉版主
- 积分
- 4275
|
发表于 2024-5-14 19:01:18
|
显示全部楼层
本帖最后由 CosyOS 于 2024-5-14 19:18 编辑
感谢你的建议,确实应该搞一个常见问题的汇总和解答,我下一步会着手做这件事。
关于 系统时钟 与 系统滴答周期 的匹配问题,分为 错误 和 警告,
#error 系统滴答定时器溢出,必须减小系统时钟或系统滴答周期。
#warning 每秒钟的系统滴答周期数不为整数,建议重新调整系统滴答周期。
#warning 每秒钟的系统滴答周期数不为整数,建议重新调整系统时钟或系统滴答周期。
错误是无法容忍的;
警告会让你看着不爽;
但你也可以忽略这些警告,只是说 实际的滴答周期,会与设定值之间有一定误差,这会导致 软件定时器 不准。
你也可以在 mcucfg_80251.h 中,删除这些产生警告的代码。
你系统滴答周期 定义为 1250,不会有任何问题和风险,只是应用 uDelay_ms, uDelay_s, uDelay_m, uDelay_h, 时,时间就时常会不准确了。
这个问题要看你想怎么解决。
对于我来说,系统时钟 没必要 11.0592、22.1184 等,
波特率有一些误差没关系的,只要在允许范围内;
重点还是 系统时钟 要为整数MHZ,这样系统节拍才能准确。
系统时钟最好还要能被12整除,
这样 所有 定时器 无论 1T、12T,定时都是准确的。
如 6MHZ、12MHZ、15MHZ、24MHZ、33MHZ等,都能被12整除。
总之,建议 系统时钟 能被12整除,这样可确保 系统节拍 和 所有 用户定时器 的定时都是准确的。
|
|