星空影视网

展开菜单

104-ESP32_SDK开发-软件定时器esp_timer

104-ESP32_SDK开发-软件定时器esp_timer
软件定时器的实现实际上是建立在硬件定时器的基础之上的。在esp32中,内部运行着一个精度为1微秒(1us)的硬件定时器,软件定时器的回调函数都被放置在这个1微秒硬件定时器的中断函数中。通过这种方式,软件定时器能够利用硬件定时器的高精度特性来实现定时功能。 以下是一张图示,帮助理解软件定时器与硬件定时器的关系: 下面是相关的代码示例,使用JavaScript语法展示了如何设置和使用软件定时器: #include #include "freertos/FreeRT...

【GD32L233C-START】2、非阻塞方式点灯,blink,blink,blink……

【GD32L233C-START】2、非阻塞方式点灯,blink,blink,blink……
1、前言 官方demo使用的是阻塞方式点灯,这种方式让mcu在等待期间无法执行其他任务(中断除外),效率较低。本文介绍了一种非阻塞方式点灯的方法。 2、硬件连接 3、思路 通过定时器中断,每1ms触发一次中断,全系统维护一个tick计数器; 记录某个时刻的tick值为A,获取当前的tick值为B,当B-A的值大于或等于500时(即500ms闪烁一次),执行一次LED状态翻转,并更新A的值。 4、软件实现 (1)利用定时器中断,每1ms中断一次,全系统维护...