esp32的按键中断0、前期准备1、参考上一篇文章搭建好esp32环境
2、准备好一块esp32开发开发板(本作者使用了esp32c3作为开发平台)
1、知识储备消息队列:在rtos中,常用于任务之间或者是中断与任务之间的数据交换。具有特点是:先入入先出,类似我们平时排队进园区旅游,排在前面总是首先进入里面。在freertos中,消息队列用的函数有以下几个:用于创建消息队列 xqueuehandle xqueuecreate( unsigned portbase_type uxqueuelength, unsigned portbase_type uxitemsize )
参数如下:
uxqueuelength:队列最大长度uxitemsize:数据体的数据大小,注意:队列中每个数据体的大小必须要保存一致用于读取消息队列 portbase_type xqueuereceive( xqueuehandle xqueue, void *pvbuffer, portticktype xtickstowait )
参数如下:
pxqueue:队列句柄,其值为xqueuecreate放回值,类型为:xqueuehandle pvbuffer:数据指针用于指向出队的数据地址 xtickstowait:任务中断并等待队列中可用空间的最大时间。若设置为0且队列为空时,调用立刻返回。如果要设置具体时间可以用(时间/porttick_rate_ms)公式来获取具体时间。又若设置为( portmax_delay) 将导致任务阻塞用于写入消息队列 portbase_type xqueuesendfromisr(xqueuehandle pxqueue,const void *pvitemtoqueue,portbase_type *pxhigherprioritytaskwoken);
参数如下:
pxqueue:队列句柄,其值为xqueuecreate放回值,类型为:xqueuehandle pvitemtoqueue:要存入队列的数据的指针,数据类型要和xqueuecreate初始化的数据类型一样 pxhigherprioritytaskwoken:如果数据入队使任务解锁,并且解锁的任务的优先级高于当前运行任务的优先级xqueuesendfromisr将设置*pxhigherprioritytaskwoken到 pdtrue 。如果xqueuesendfromisr()设置这个值到 pdtrue,那么在中断退出的时候将会进行任务切换。esp32中断 esp32-c3芯片具有硬件滤波器,可去除输入gpio中不需要的毛刺脉冲,这有助于减少中断的错误触发。
中断函数介绍
中断服务注册函数 esp_err_t gpio_install_isr_service( int intr_alloc_flags )
函数说明
使用该函数,isr服务将提供全局gpio的isr,并通过gpio_isr_handler_add()函数注册各个引脚处理程序
参数如下:
intr_alloc_flags:中断的类型gpio中断注册函数 esp_err_t gpio_isr_handler_add(gpio_num_t gpio_num,gpio_isr_t isr_handler,void * args )
函数说明
用于为相应的gpio引脚添加中断处理函数
参数如下:
gpio_num:gpio引脚号 isr_handler:中断处理函数名 args:往中断函数传递的参数2、新建工程idf.py create-project project_led # 新建工程cd project_keyidf.py set-target esp32c3 # 设置工程使用的芯片3、查看原理图确定按键控制引脚
经查阅原理图,确定led的引脚为gpio_19,读者需根据自身开发板来修改引脚
全球制造业亮红灯 下半年“宽松潮”来势更猛?
关于USB充电的详细解析
高增益波导缝隙定向天线设计及测试结果
RISC-V中开发Java是一种什么体验?
汽车产业转型升级:腾讯正研发车载微信 阿里组建汽服新零售
[esp32教程]2、按键中断
火狐Firefox 84浏览器原生支持苹果M1 Mac:启动速度快 2.5 倍
详细解读蓝牙mesh网络技术及基本概况
关于锂电池电芯设计和电池产热研究
什么测试有助于识别PCB的制造缺陷
JL3633是一款多通道电平转换芯片内部集成了六通道独立的电平转换和驱动电路
乘风破浪 | 软通动力子公司助力“中国芯”振翅高飞
年轻人喜欢的空气啥样? Leader智慧空气场景,增幅47%
今年锂价已下跌75% 汽车厂商或改变策略
100%代码覆盖率分析是否必不可少
电子显微术(Electron Microscopy,EM)
小米6、努比亚Z17、OPPO F3都玩双摄,谁更强?
魅族新机入网,不配备充电器
QPS、TPS、RT、并发数、吞吐量的概念
汽车多媒体系统USB Type C端口ESD静电浪涌保护方案