授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。但愿你们分享给你周边须要的朋友或者同窗,说不定大神成长之路有博哥的奠定石。。。git
QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷web
1、基础篇网络
2、网络篇函数
- ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266
- ESP8266开发之旅 网络篇② ESP8266 工做模式与ESP8266WiFi库
- ESP8266开发之旅 网络篇③ Soft-AP——ESP8266WiFiAP库的使用
- ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用
- ESP8266开发之旅 网络篇⑤ Scan WiFi——ESP8266WiFiScan库的使用
- ESP8266开发之旅 网络篇⑥ ESP8266WiFiGeneric——基础库
- ESP8266开发之旅 网络篇⑦ TCP Server & TCP Client
- ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网
- ESP8266开发之旅 网络篇⑨ HttpClient——ESP8266HTTPClient库的使用
- ESP8266开发之旅 网络篇⑩ UDP服务
- ESP8266开发之旅 网络篇⑪ WebServer——ESP8266WebServer库的使用
- ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库
- ESP8266开发之旅 网络篇⑬ SPIFFS——ESP8266 Flash文件系统
- ESP8266开发之旅 网络篇⑭ web配网
- ESP8266开发之旅 网络篇⑮ 真正的域名服务——DNSServer
- ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新
3、应用篇oop
4、高级篇学习
Ticker是Arduino Core For ESP8266 内置的一个定时器库,这个库用于规定时间后调用函数。优化
Ticker的功能很是简单,就是规定时间后调用函数。因此读者能够发现本章节很是简短,能够快速了解使用。
老规矩,先上一个博主总结的百度脑图:
ui
整体上,根据功能能够把方法分为两大类:.net
函数说明:代码规范
/** * 中止Ticker */ void detach();
函数说明:
/** * Ticker是否激活状态 * @return bool true表示ticker启用 */ bool active();
函数说明:
/** * xx秒后只执行一次 * @param seconds 秒数 * @param callback 回调函数 */ void once(float seconds, callback_function_t callback); /** * xx秒后只执行一次 * @param seconds 秒数 * @param callback 回调函数 * @param arg 回调函数的参数 */ void once(float seconds, void (*callback)(TArg), TArg arg)
callback_function_t定义以下:
typedef std::function<void(void)> callback_function_t;
/** * xx毫秒后只执行一次 * @param seconds 秒数 * @param callback 回调函数 */ void once_ms(float seconds, callback_function_t callback) /** * xx毫秒后只执行一次 * @param seconds 秒数 * @param callback 回调函数 * @param arg 回调函数的参数 */ void once_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg);
函数说明:
/** * 每隔xx秒周期性执行 * @param seconds 秒数 * @param callback 回调函数 */ void attach(float seconds, callback_function_t callback); /** * 每隔xx秒周期性执行 * @param seconds 秒数 * @param callback 回调函数 * @param arg 回调函数的参数 */ void attach(float seconds, void (*callback)(TArg), TArg arg)
函数说明:
/** * 每隔xx毫秒周期性执行 * @param seconds 秒数 * @param callback 回调函数 */ void attach_ms(float seconds, callback_function_t callback); /** * 每隔xx毫秒周期性执行 * @param seconds 秒数 * @param callback 回调函数 * @param arg 回调函数的参数 */ void attach_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg)
注意点:
实例说明:
板载LED 0.3s 慢闪,而后 0.1s快闪,最后常亮;
源码:
/** * 代码功能:板载LED开始0.3秒闪,而后快闪,最后常亮 */ #include <Ticker.h> Ticker flipper; int count = 0; void flip() { int state = digitalRead(LED_BUILTIN); // get the current state of GPIO1 pin digitalWrite(LED_BUILTIN, !state); // set pin to the opposite state ++count; // 当翻转次数达到20次的时候,切换led的闪烁频率,每隔0.1s翻转一次 if (count == 20) { flipper.attach(0.1, flip); } // 当次数达到120次的时候关闭ticker else if (count == 120) { flipper.detach(); } } void setup() { //LED_BUILTIN 对应板载LED的IO口 pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); //每隔0.3s 翻转一下led状态 flipper.attach(0.3, flip); } void loop() { }
注意点:
各位读者能够查阅源码中的位置,就会发现有不少经常使用的板子(博主这里使用到的NodeMcu)。
实例说明:
板载LED 来回快速闪烁
源码:
#include <Ticker.h> Ticker tickerSetHigh; Ticker tickerSetLow; void setPin(int state) { digitalWrite(LED_BUILTIN, state); } void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(1, LOW); // 每隔25ms调用一次 setPin(0) tickerSetLow.attach_ms(25, setPin, 0); // 每隔26ms调用一次 setPin(1) tickerSetHigh.attach_ms(26, setPin, 1); } void loop() { }
本篇章很是简单,就是一个Ticker定时器的使用,请读者快速翻阅;