想用定时器2实现一个简单的13us的定时,结果搞了很久也不行

我使用的单片机是CH552,想用定时器2实现一个简单的13us的定时,结果出来定时都是1.8us,无论我怎么改定时的值,输出都是1.8us,请指点一下是哪里不对微信截图_20210906092542.png



1、确认系统主频;

2、确认定时器时钟;

3、确认timer工作模式,16位的话需要重置初值;

假设定时器时钟是1m,那么定时13us的话,需要设置初值是13即可,且在16位模式下重置初值。


  1. 系统主频是24MHZ

  2. 定时器时钟是1T

  3. timer2是16位自动重载定时器,没得选了,不需要重置初值


image.png

CH552的定时器配置中没有16位自动装载,你代码中也没有看到关于TMOD这个寄存器的配置,你确认一下。


您好,直接运行你的代码程序,测试出来的定时周期大约是10.83us


只有登录才能回复,可以选择微信账号登录