电子产业一站式赋能平台

PCB联盟网

搜索
查看: 623|回复: 0
收起左侧

【HiSpark Wi-Fi IoT 智能家居套件试用】KEY采用中断信号量触发LED控制

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2021-1-3 19:55:46 | 显示全部楼层 |阅读模式
【HiSpark Wi-Fi IoT 智能家居套件试用】KEY采用中断信号量触发LED控制,   
本帖最后由 jeFFC_good 于 2021-1-3 15:01 编辑



板子上User按键是GPIO5, LED是GPIO9.



2.png (2.41 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传

1.png (15 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传

我们本次需要实现的是,按键按下,中断触发一个信号量,然后控制LED的亮灭。中断触发和信号量触发的方式可以避免轮询的查询key的GPIO的状态和LED预期的状态。可以节省很多的CPU资源,比较的实用。

在./application/sample/wifi-iot/app/下面创建文件夹key2led,并在该文件夹下创建key2led.c和BUILD.gn两个文件。Key2led的BUILD.gn中包括了:



6.png (19.45 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传

并且把key2led的构建library添加到app这一层的BUILD.gn中:



5.png (15.42 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传

我们再看代码,先配置GPIO,GPIO9配置为输出,GPIO5配置为输入,且需要打开中断,上升沿有效,中断处理函数释放信号量。配置完GPIO,创建一个semphare,用于中断和Task之间的同步。之后创建一个LED控制的任务。用于等待信号量的同步。



3.png (42.71 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传   



4.png (93.72 KB, 下载次数: 0)

下载附件  保存到相册  

4 小时前 上传
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表