打印
[技术问答]

M051的定时器0定时时间怎么设置?

[复制链接]
2418|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-10-19 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求高手指点下M051的定时器0定时时间怎么设置,我采用的是外部晶振12MHZ的,现在用的程序如下:程序实现了定时,外部中断,串口,但是我不知道时间怎么设置,现在要每1US中断一次,希望知道怎么设置的朋友能够帮下我的忙,非常谢谢!!

使用特权

评论回复
沙发
有何不可0365| | 2024-11-25 16:58 | 只看该作者
要实现每1微秒中断一次,需要基于你的外部晶振频率来计算定时器的配置。

使用特权

评论回复
板凳
huangcunxiake| | 2024-11-25 22:11 | 只看该作者
    /* Open Timer0 frequency to 0.5 Hz in periodic mode, and enable interrupt */
    TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1);
    TIMER_EnableInt(TIMER0);

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

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

    /* Open Timer3 frequency to 4 Hz in periodic mode, and enable interrupt */
    TIMER_Open(TIMER3, TIMER_PERIODIC_MODE, 8);
    TIMER_EnableInt(TIMER3);

使用特权

评论回复
地板
huangcunxiake| | 2024-11-25 22:12 | 只看该作者
很容易,使用库函数,设置就是了。

使用特权

评论回复
5
huangcunxiake| | 2024-11-25 22:12 | 只看该作者
看一下相关的头文件的说明,里面有介绍参数的意义。

使用特权

评论回复
6
一秒落纱| | 2025-2-7 01:00 | 只看该作者
对于基于 ARM Cortex-M0 的微控制器(如 M051),定时器(Timer)的配置通常涉及几个步骤,包括设置时钟源、配置定时器模式和设置定时时间。既然你使用的是外部晶振 12MHz,并且想要每 1μs 中断一次,那么定时器的配置就变得相对简单

使用特权

评论回复
7
淡漠安然| | 2025-2-7 02:00 | 只看该作者
既然你使用的是外部晶振,那么定时器时钟源应该设置为外部时钟。这通常需要在定时器的配置寄存器中设置相应的位

使用特权

评论回复
8
夜阑风雨| | 2025-2-7 03:00 | 只看该作者
为了每 1μs 中断一次,需要知道定时器的时钟频率(这里是外部晶振频率)和所需的定时周期(这里是 1μs)。装载值的计算通常是基于这样的公式:装载值 = 定时器时钟频率 × 需要的定时周期

使用特权

评论回复
9
对于 12MHz 的外部晶振和 1μs 的定时周期,装载值应该是 12,000(因为 1μs 1/1,000,000 秒,所以乘以频率得到)

使用特权

评论回复
10
远山寻你| | 2025-2-7 05:00 | 只看该作者
具体的装载值可能需要根据定时器的实际配置稍作调整

使用特权

评论回复
11
江河千里| | 2025-2-7 06:00 | 只看该作者
选择自动重载模式(如向上计数或向下计数模式),并设置定时器在达到装载值时触发中断。然后启动定时器

使用特权

评论回复
12
光辉梦境| | 2025-2-7 07:00 | 只看该作者
当定时器达到设定的装载值时,会触发一个中断。你需要编写一个中断服务程序来处理这个中断,例如重置定时器或执行其他任务

使用特权

评论回复
13
别乱了阵脚| | 2025-2-7 08:00 | 只看该作者
具体的代码实现会依赖于你使用的编译器和开发环境。通常,厂商会提供库函数来简化这些操作

使用特权

评论回复
14
三生万物| | 2025-2-7 09:00 | 只看该作者
1微秒的话,MCU是不是反应不过来啊

使用特权

评论回复
15
冰春彩落下| | 2025-2-7 10:00 | 只看该作者
这个芯片的主频是多少?有没有滴答定时器啊,可以试试这个

使用特权

评论回复
16
huangcunxiake| | 2025-2-16 17:46 | 只看该作者
1微妙的定时,需要时钟快点,比如时钟设置为48MHz,或者72Mhz

使用特权

评论回复
17
huangcunxiake| | 2025-2-16 17:46 | 只看该作者
时钟足够快,就可以定时精度够

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2109

主题

7957

帖子

11

粉丝