基于ESP8266 SDK部分功能的二次封装

一,目的。

使用ESP8266官方提供的固件SDK的人都知道,在大部分的API接口调用和使用逻辑上跟标准C APP开发是有很大差别的,有些功能需要自己花很大时间去进行功能封装和逻辑设计,对于一个精通C语言的人,也很难在短时间内开发出一个简单功能的。同时如果需要使用硬件驱动功能,如:I2C,UART,PWM等,没有驱动开发经验的人即使把代码写出来了,但一旦遇到问题,也很难去解决,这需要有一定的硬件知识和驱动调试经验。为此,我在平时的工作中花了一些时间对一具非通用性的API函数接口、单元功能逻辑和硬件驱动相关的进行了封装,通过这套接口,对于一个只会C应用开发的人来说,能很快地理解和使用基本硬件功能。


二,编译环境和基本要求

搭建ESP8266的编译环境,请参考:http://blog.csdn.net/yunjinwang/article/details/52668330

ESP8266SDK分NONOS和RTOS两种,我这里是针对NONOS的,有一定的C语言基础即可,懂一点硬件知识和驱动知识更佳,会简单的shell命令和makefile知识。

有linux基础的建议搭建Linux编译环境,稳定可靠效率高。


三,封装SDK的下载

由于在工作中会有一具的功能优化、bug fix和功能增加,如有疑问请发邮件:[email protected]


考虑到更新和便捷性,将最新SDK及测试代码放在svn服务器上。http://www.smartinhome.cn:8001/svn/espSdkRelease,用户名:user, 密码:user

最新的地址:https://dev.smartinhome.cn/svn/espSdkRelease/

最新的SDK接口函数与下面的描述有异,请以最新的SDK头文件描述为主。


20170220已更新支持安信可的ESP8266IDE环境,测试通过,SDK中有方法说明。


四,API函数接口功能及介绍

a,auto_sys_utils.h  系统基本功能模块

1, void AIH_log_init();初始化串口log输出,波特率固定为115200, 8N1

2, int8_t AIH_key_init(int8_t *gpioNumArray,  int8_t arrayNum, key_press_cb keyCb);初始化GPIO输入,目前支持GPIO 0\2\4\5\12\13\14\15,GPIO口初始化后会拉高,当检测到低电平时,触发PRESS,key_press_cb回调函数后返回按键事件的类型及长短按,3秒算长按

3,int8_t AIH_status_light_set(int8_t gpioNum, int8_t defaultStatus, int32_t intralMs);设置某一GPIO口按设置的intralMs闪烁,目前支持GPIO 0\2\4\5\12\13\14\15\16

4,int8_t AIH_gpio_output(int8_t gpioNum,  int8_t le

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值