[技术问答] M051的定时器0定时时间怎么设置?

[复制链接]
3041|16
 楼主| 两只袜子 发表于 2024-10-19 16:09 | 显示全部楼层 |阅读模式
求高手指点下M051的定时器0定时时间怎么设置,我采用的是外部晶振12MHZ的,现在用的程序如下:程序实现了定时,外部中断,串口,但是我不知道时间怎么设置,现在要每1US中断一次,希望知道怎么设置的朋友能够帮下我的忙,非常谢谢!!
有何不可0365 发表于 2024-11-25 16:58 | 显示全部楼层
要实现每1微秒中断一次,需要基于你的外部晶振频率来计算定时器的配置。
huangcunxiake 发表于 2024-11-25 22:11 | 显示全部楼层
  1.     /* Open Timer0 frequency to 0.5 Hz in periodic mode, and enable interrupt */
  2.     TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1);
  3.     TIMER_EnableInt(TIMER0);

  4.     /* Open Timer1 frequency to 1 Hz in periodic mode, and enable interrupt */
  5.     TIMER_Open(TIMER1, TIMER_PERIODIC_MODE, 2);
  6.     TIMER_EnableInt(TIMER1);

  7.     /* Open Timer2 frequency to 2 Hz in periodic mode, and enable interrupt */
  8.     TIMER_Open(TIMER2, TIMER_PERIODIC_MODE, 4);
  9.     TIMER_EnableInt(TIMER2);

  10.     /* Open Timer3 frequency to 4 Hz in periodic mode, and enable interrupt */
  11.     TIMER_Open(TIMER3, TIMER_PERIODIC_MODE, 8);
  12.     TIMER_EnableInt(TIMER3);
huangcunxiake 发表于 2024-11-25 22:12 | 显示全部楼层
很容易,使用库函数,设置就是了。
huangcunxiake 发表于 2024-11-25 22:12 | 显示全部楼层
看一下相关的头文件的说明,里面有介绍参数的意义。
一秒落纱 发表于 2025-2-7 01:00 | 显示全部楼层
对于基于 ARM Cortex-M0 的微控制器(如 M051),定时器(Timer)的配置通常涉及几个步骤,包括设置时钟源、配置定时器模式和设置定时时间。既然你使用的是外部晶振 12MHz,并且想要每 1μs 中断一次,那么定时器的配置就变得相对简单
淡漠安然 发表于 2025-2-7 02:00 | 显示全部楼层
既然你使用的是外部晶振,那么定时器时钟源应该设置为外部时钟。这通常需要在定时器的配置寄存器中设置相应的位
夜阑风雨 发表于 2025-2-7 03:00 | 显示全部楼层
为了每 1μs 中断一次,需要知道定时器的时钟频率(这里是外部晶振频率)和所需的定时周期(这里是 1μs)。装载值的计算通常是基于这样的公式:装载值 = 定时器时钟频率 × 需要的定时周期
暖了夏天蓝了海 发表于 2025-2-7 04:00 | 显示全部楼层
对于 12MHz 的外部晶振和 1μs 的定时周期,装载值应该是 12,000(因为 1μs 1/1,000,000 秒,所以乘以频率得到)
远山寻你 发表于 2025-2-7 05:00 | 显示全部楼层
具体的装载值可能需要根据定时器的实际配置稍作调整
江河千里 发表于 2025-2-7 06:00 | 显示全部楼层
选择自动重载模式(如向上计数或向下计数模式),并设置定时器在达到装载值时触发中断。然后启动定时器
光辉梦境 发表于 2025-2-7 07:00 | 显示全部楼层
当定时器达到设定的装载值时,会触发一个中断。你需要编写一个中断服务程序来处理这个中断,例如重置定时器或执行其他任务
别乱了阵脚 发表于 2025-2-7 08:00 | 显示全部楼层
具体的代码实现会依赖于你使用的编译器和开发环境。通常,厂商会提供库函数来简化这些操作
三生万物 发表于 2025-2-7 09:00 | 显示全部楼层
1微秒的话,MCU是不是反应不过来啊
冰春彩落下 发表于 2025-2-7 10:00 | 显示全部楼层
这个芯片的主频是多少?有没有滴答定时器啊,可以试试这个
huangcunxiake 发表于 2025-2-16 17:46 | 显示全部楼层
1微妙的定时,需要时钟快点,比如时钟设置为48MHz,或者72Mhz
huangcunxiake 发表于 2025-2-16 17:46 | 显示全部楼层
时钟足够快,就可以定时精度够
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部