【开发板试用】4. WiFi IoT智能家居套件 - LED灯、按键、蜂鸣器 精华
本次在3.helloworld的基础上,新增点亮LED灯、按键操作、蜂鸣器功能。本次需要用到红黄绿灯扩展板。
添加这三个功能,主要是因为这几个功能都是比较简单的功能,而且,这三个功能配合起来,可以实现比较有意思的功能,。
实现功能:按下扩展板上的按键,蜂鸣器发声,并且红黄绿灯会按照红、黄、绿、全灭的顺序进行发光,按键抬起,蜂鸣器停止发声。
本代码借鉴了唐佐林老师的教程:实现按键“按下事件”和“释放事件”的通用框架(V0.0.1)
1、点亮LED灯,使用了GPIO的输出功能,高电平点亮,低电平熄灭。
主要调用wifiiot_gpio.c中的函数以下函数,实现GPIO初始化为输出功能,且控制该IO输出高、低电平
2、按键响应,使用的GPIO的输入中断功能,并且识别了按键按下(下降沿)和按键抬起(上升沿)
对中断不熟悉的朋友,请参考唐佐林老师的教程:实现按键“按下事件”和“释放事件”的通用框架(V0.0.1) 此处仅将用到几个函数列出
3、蜂鸣器,主要使用了PWM功能,也就是脉冲宽度调制,通过调节占空比,可以控制输出的电平,使得蜂鸣器发出不同的响声,PWM还用于电机的控制。
注意,为了能使用PWM功能,需要使能PWM功能:将vendor\hisi\hi3861\hi3861\build\config\usr_config.mk文件中的CONFIG_PWM_SUPPORT行:# CONFIG_PWM_SUPPORT is not set修改为CONFIG_PWM_SUPPORT=y , 否则会编译失败
4.代码 hello_world.c
路径:code\applications\sample\wifi-iot\app\hello_world\hello_world.c
5.业务代码的编译脚本 BUILD.gn
路径:code\applications\sample\wifi-iot\app\hello_world\BUILD.gn
6.模块的编译脚本BUILD.gn
路径:code\applications\sample\wifi-iot\app\BUILD.gn
感谢楼主分享,期待楼主产出更多内容。
继续加油哦。。。。
能否不要用附件存源码啊,都扔到 gitee.com 的仓库里呗