【arduino】时间相关函数

延时函数:delay(num)

        num:延时时间:单位毫秒

延时函数:delayMicroseconds(num)

        num:延时时间,单位微秒,最大值16383

系统时间:millis()

        读取单片机启动后运行的时间,单位毫秒

        返回值:单片机上电或复位后到现在的时间,单位为ms,50天后复位为0,重新计算

系统时间:micros()

        读取单片机启动后运行的时间,单位微秒

         返回值:单片机上电或复位后到现在的时间,单位为us

参考:时间函数

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Arduino上使用定时器记录时间可以通过以下步骤实现: 1. 首先,选择一个可用的定时器。Arduino UNO板上有三个定时器可用,分别是Timer0、Timer1和Timer2。选择合适的定时器根据你的需求和所要记录的时间范围。 2. 设置定时器的预分频器,以确定计时的精度。预分频器决定了定时器的计数频率。Arduino的定时器可以使用不同的预分频器,如1、8、64、256或1024。选择适当的预分频器以获得所需的计时精度。 3. 配置定时器的工作模式。定时器可以在不同的工作模式下操作,如正常模式、CTC模式、PWM模式等。根据你的需求选择适当的工作模式。 4. 设置定时器的计数器初值和比较值。计数器初值决定定时器的起始值,而比较值决定了定时器计数到多少时触发中断或执行特定的操作。 5. 编写中断服务程序或执行相应的操作。当定时器计数到比较值时,可以配置定时器中断,以便触发中断服务程序。在中断服务程序中,可以记录当前时间或执行其他所需的操作。 下面是一个简单的示例代码,使用Timer1来记录时间并通过串口打印出来: ```cpp #include <TimerOne.h> unsigned long currentTime = 0; void setup() { Serial.begin(9600); // 设置Timer1的工作模式为CTC模式 TCCR1A = 0; TCCR1B = (1 << WGM12); // 设置预分频器为64 TCCR1B |= (1 << CS11) | (1 << CS10); // 设置比较值为62500,实现每秒中断一次 OCR1A = 62500; // 启用定时器中断 TIMSK1 |= (1 << OCIE1A); // 启动定时器 TCNT1 = 0; } void loop() { // 执行其他任务 } // 定时器中断服务程序 ISR(TIMER1_COMPA_vect) { currentTime++; Serial.println(currentTime); } ``` 在上述示例代码中,我们使用Timer1在每秒钟触发一次中断,并在中断服务程序中将当前时间记录到`currentTime`变量中,并通过串口打印出来。 请根据你的具体需求和硬件配置适当调整代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@枭白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值