0%

开启外部中断

attachInterrupt(pin,function,mode);

参数:

  • pin: 外部中断引脚
  • function : 外部中断回调函数
  • mode : 5种外部中断模式, 见下表:
中断触发模式 说明
RISING 上升沿触发
FALLING 下降沿触发
CHANGE 电平变化触发
ONLOW 低电平触发
ONHIGH 高电平触发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void func1()
{
Serial.printf("按键中断触发");
}
void setup()
{
Serial.begin(9600);
attachInterrupt(0,func1,FALLING);
}

void loop()
{

}

关闭引脚中断

detchInterrupt(pin);

无返回值

电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold)

ESP32专门提供了电容触摸传感器的功能, 共有T0,T2~T9 共 9个touch传感器可用.分别对应引脚4、2、15、13、12、14、27、33、32. 无需设置PinMode
首先看一下触摸按键的原理,如下图:

阅读全文 »

MQTT 介绍

​ MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛:
在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。
其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

Mosquitto 介绍

​ Mosquitto 是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。

阅读全文 »

首先科普IIC,即I2C

IIC(Inter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线

包括两个SDA和SCL,SDA是串行数据线,SCL是串行时钟线,IIC工作方式为半双工。

可以看到MLX90614有四个引脚,vcc接3.3v,GND接地,SDA和SCL分别对应树莓派相应接口(见下图)。

阅读全文 »

我们在工程项目中经常会遇到MCU串口不够的情况,更换MCU成本又会增加,那该怎么办呢?于是就有了这篇文章,我们可以使用普通IO口加上定时器去模拟串口发送接收的功能,这样就完美解决串口不够用的问题了,但是这样做会有一些缺点,比如速度不能太快,没有关于串口的DMA等,我测试在9600波特率下完全没有问题,下面是源码,需要的话可以参考

阅读全文 »

1
comboBox1.SelectedIndex = 0;//设置第一项为默认选择项。
1
comboBox1.SelectedItem = combItem;