ESP32单片机案例

工具:VScode + PlatformIO IDE

注:B站视频学习笔记。

1、继电器

1)硬件电路

2)程序

#include <Arduino.h>
#define RELAY_PIN 15//初始化定时器
hw_timer_t *timer = NULL;void timer_interrupt(){
//将引脚传入的电平信号进行翻转digitalWrite(RELAY_PIN,!digitalRead(RELAY_PIN));//读取引脚信号;翻转。
}void setup() {// put your setup code here, to run once://设置为输出模式pinMode(RELAY_PIN,OUTPUT);//初始化定时器timer = timerBegin(0,80,true);//定时器编号0-3任选;分频系数;向上计数/向下计数。//主持中断处理函数timerAttachInterrupt(timer,timer_interrupt,true);//定时器;定时器中断函数;中断类型:true(边沿触发)。//设置定时器模式timerAlarmWrite(timer,500000,true);//定时器;0.5秒闪烁一次(500*1000微秒);true(反复触发)。//启动定时器timerAlarmEnable(timer);
}void loop() {// put your main code here, to run repeatedly:
}

3)结果

2、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/236855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊云与生成式 AI 的融合——生成式AI的应用领域

文章目录 前言亚马逊云科技增强客户体验聊天机器人和虚拟助手亚马逊云科技 鸿翼&#xff1a;提供精准检索和问答&#xff0c;显著提升全球化售后服务体验AI 赋能的联络中心智能导购&个性化推荐智慧数字人 提升员工生成力和创造力对话式搜索亚马逊云科技 西门子&#xff1…

C语言中一些有关字符串的常见函数的使用及模拟实现(2)

在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了⽅便操作字符和字符串&#xff0c;C语⾔标准库中提供了\n⼀系列库函数&#xff0c;接下来我们就学习⼀下这些函数。 在上一篇博客中已经讲解了strlen&#xff0c;strcpy&#xff0c;strcmp&#xff0c;st…

应用于明厨亮灶的AI边缘计算盒子+AI算法软硬一体化方案

明厨亮灶方案解决了餐饮企业顾客可以直观地看到后厨员工的操作是否规范&#xff0c;卫生是否合格&#xff0c;是否有一些不应该出现的物品&#xff0c;同时明厨亮灶是对餐饮企业员工的一种监督。 英码明厨亮灶方案可为企业和消费者提供后厨“透明化”技术支撑&#xff0c;使内外…

华为云软件冗余依赖智能消除技术Slimming取得重大突破,相应文章已被软工顶会ICSE 2024录用

由于构建工具对软件库的自动化配置管理&#xff0c;使得现代软件项目在版本演化的过程中&#xff0c;引入大量的第三方软件库&#xff0c;依赖树结构日益臃肿。然而&#xff0c;实际上很多引入的软件库并未被真正使用。臃肿的依赖在资源受限的设备上将严重影响代码的性能、增加…

vue2学习笔记(高阶)

Vue2数据双向绑定的原理 Vue2 数据双向绑定原理是通过数据劫持 发布者-订阅者模式 的方式来实现&#xff0c;首先是通过 ES5 提供的 Object.defineProperty() 方法来劫持&#xff08;监听&#xff09;各属性的 getter、setter&#xff0c;并在当监听的属性发生变动时通知订阅…

Elasticsearch 的使用

一、简介 1.Shard&#xff08;分片&#xff09; 数据分散集群的架构模式&#xff0c;Elasticsearch 将一个 Index&#xff08;索引&#xff09;中的数据切为多个 Shard&#xff08;分片&#xff09;&#xff0c;分布在不同服务器节点上。 默认每个索引会分配5个主分片和1个副本…

用于缓存一些固定名称的小组件

项目中&#xff0c;用于缓存姓名、地名、单位名称等一些较固定名称的id-name小组件。用于减少一些表的关连操作和冗余字段。优化代码结构。扩展也方便&#xff0c;写不同的枚举就行了。 具体用法&#xff1a; {NameCacheUser.USER.getName(userId);NameCacheUser.ACCOUNT.getN…

设计模式精讲:掌握工厂方法与抽象工厂的精髓

设计模式精讲&#xff1a;掌握工厂方法与抽象工厂的精髓 一、引言&#xff1a;如何学习设计模式&#xff1f;二、工厂方法&#xff08;也叫工厂模式&#xff09;2.1、代码结构2.2、符合的设计原则2.3、小结 三、抽象工厂3.1、代码结构3.2、符合的设计原则3.3、小结 总结 一、引…

PostgreSQL-shared_buffers(双缓存)

关于shared_buffers 这是一篇2018年写的&#xff0c;可以结合shared read一起看 什么是shred_buffer&#xff0c;我们为什么需要shared_buffers&#xff1f; 1.在数据库系统中&#xff0c;我们主要关注磁盘io&#xff0c;大多数oltp工作负载都是随机io&#xff0c;因此从磁盘获…

zabbix配置snmp trap--使用snmptrapd和Bash接收器(图文教程)

1.前言 我的zabbix的版本是5.0版本&#xff0c;5.0的官方文档没有使用bash接收器的示例&#xff0c;6.0的官方文档有使用bash接收器的示例&#xff0c;但是&#xff0c;下载文件的链接失效&#xff1f;&#xff01; 这里讲解zabbix-server端配置和zabbix web端配置 2.zabbix-…

基于YOLOv8深度学习的安全帽目标检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

C51--DHT11数据读取

DHT11传输0的时序分析&#xff1a; DHT11传输1的时序分析&#xff1a; 用while(dht)卡点&#xff0c;当不满足while时&#xff0c;信号拉低&#xff1b; 用while(&#xff01;dht)卡点&#xff0c;当不满足while时&#xff0c;信号拉高。 传输0和1时有效数据都是高电平&…