非阻塞延时 非阻塞延时单片机 / ESP32‑Arduino阻塞延时delay (1000)调用 delay()CPU 原地干等 1000 毫秒这期间什么活都干不了不能读按键、不能刷新屏幕、不能跑 PWM、不能处理网络。程序卡住。非阻塞延时不卡死程序计时的同时代码继续往下跑可以同时干多件事。原理记录上一次执行的时间戳每次 loop 对比当前时间时间到了才执行任务没到直接跳过。核心模板Arduino / ESP32unsigned long previousTime 0; // 记录上一次触发时间const unsigned long interval 1000; // 间隔1000msvoid loop(){unsigned long now millis(); // 获取当前运行毫秒数if( now - previousTime interval ){// 到时间了执行你的任务 Serial.println(任务执行);previousTime now; // 更新时间戳开启下一轮计时}// 这里的代码会不停循环执行不会被延时卡住// 可以读触摸、刷新LVGL、网络、PWM不受上面计时影响}关键点1. millis()开机到现在走过的毫秒最大 49 天溢出一次模板写法自动兼容溢出不用处理。2. 不要在 if 里面写delay()一写又变回阻塞。3. 可以写多组独立变量实现多个定时器互不干扰比如一个 100ms 刷屏幕一个 2000 秒上报网络。对比1. 阻塞 delay(1000)- 等待的 1 秒loop 暂停啥都不处理- 简单但是 GUI、触摸、网络直接卡死LVGL 项目禁止用 delay2. 非阻塞 millis 方式- 计时在后台判断程序持续流转- ESP32 做触摸屏 LVGL、物联网、多任务必须用这套。常见踩坑❌错误把 previousTime now; 写在 if 外面计时直接失效。❌错误变量用int时间大了溢出必须用unsigned long。ESP32 还有另外两种非阻塞方案1. FreeRTOS 任务多线程创建单独 Task 做延时2. LEDC 硬件定时器、硬件中断。LVGL 开发强烈建议全部使用 millis 非阻塞延时一旦出现 delay触摸屏点击会反应迟钝。需要我给你写一个两套定时器同时跑的示例代码吗比如一个闪 LED另一个打印日志互不干扰。

相关新闻

最新新闻

GPU占用率上不去?从资源排查到参数调优的实用指南

GPU占用率上不去?从资源排查到参数调优的实用指南

先说一个很多人容易误判的地方:GPU占用率上不去,不一定是显卡性能不行,很可能是任务切得不够细,或者数据搬运、CPU预处理、显存分配这些环节把GPU给“晾”在了一边。这篇文章就围绕一件事:怎么让GPU在普通开发环境和服…

2026/8/26 13:41:18
Vue3文本省略(Ellipsis)

Vue3文本省略(Ellipsis)

效果如下图: 在线预览 APIs Ellipsis 参数说明类型默认值maxWidth文本最大宽度,单位 pxstring | number‘100%’tooltipMaxWidth弹出提示最大宽度,单位 px,默认为 文本宽度 24string | numberundefinedline最大行数numberunde…

2026/8/26 13:41:18
充放电特效-支持滑动设置充放电值

充放电特效-支持滑动设置充放电值

效果&#xff1a; findViewById<FlickerProgressBar>(R.id.flicker_view).apply {//设置动画模式&#xff08;0&#xff1a;左侧进入&#xff0c;1&#xff1a;右侧进入&#xff09;setFlickerAnimMode(0)//设置滑块是否可用&#xff0c;是否显示setIndicatorScrollEnabl…

2026/8/26 13:41:18
GPU利用率不高?从数据加载到混合精度的PyTorch优化指南

GPU利用率不高?从数据加载到混合精度的PyTorch优化指南

很多人以为&#xff0c;只要把一张好显卡插进服务器&#xff0c;训练速度自然就上来了。真正跑起大模型或多卡任务时才发现&#xff0c;GPU 的利用率常年只有 20%、30%&#xff0c;显存吃满了&#xff0c;算力却闲着&#xff1b;或者反过来&#xff0c;GPU 显示“忙”&#xff…

2026/8/26 13:41:18
数字档案长期保存EEP文件管理和四性检测系统工具

数字档案长期保存EEP文件管理和四性检测系统工具

数字(电子)档案EEP封装包工具软件&#xff08;nhdeep&#xff09;&#xff0c;可以生成和导入长期保存标准格式的EEP封装文件&#xff0c;进行目录查看和条目信息查看&#xff0c;以及原文文件的查看。并提供对长期保存EEP封装文件的四性检测功&#xff0c;能保障封装文件质量。…

2026/8/26 13:41:18
即用型UI组件库Kendo UI R3 2022,让应用主题开发更容易

即用型UI组件库Kendo UI R3 2022,让应用主题开发更容易

Kendo UI是带有 jQuery、Angular、React和Vue库的JavaScript UI组件的最终集合&#xff0c;无论选择哪种JavaScript框架&#xff0c;都可以快速构建高性能响应式Web应用程序。通过可自定义的UI组件&#xff0c;Kendo UI可以创建数据丰富的桌面、平板和移动Web应用程序。通过响应…

2026/8/26 13:36:18