首页 理论教育 ESP8266物联网开发:LED闪烁实例

ESP8266物联网开发:LED闪烁实例

更新时间:2025-01-17 工作计划 版权反馈
【摘要】:想要实现LED 的闪烁,在单片机中只需要一个延时函数就可以实现,那ESP8266API 给我们提供了延时函数了吗?通过此函数可以自行设计一个毫秒级的函数delay_ms,如:u32 C_time 可以在头文件里查到,如图1-2-42 所示。让LED 每隔300 ms 闪烁一次,我们将delay_ms函数中的C_time 改为300,程序如下:注意:os_delay_us函数为系统函数,头文件已经加载,所以不用重新添加头文件。将程序下载到开发板上,可以看见LDE 灯先亮300 ms,再灭300 ms,如此循环闪烁。

上一节学习了如何点亮一个LED 灯,利用了SDK 编程以及API,知道了新的程序运行方式——内核调用。后面的程序编写我们也将利用API 接口与内核调用进行编程。所以用户在学习以及开发ESP8266 的过程中要尽可能地熟悉API 参考手册。

想要实现LED 的闪烁,在单片机中只需要一个延时函数就可以实现,那ESP8266API 给我们提供了延时函数了吗?答案是肯定的。在系统接口中,它提供了os_delay_us 函数,如表1-2-4 所示。

表1-2-4 os_delay_us

这是一个微秒延时函数,参数最大值是65 355,也就是说最多延时65 355 ns。通过此函数可以自行设计一个毫秒级的函数delay_ms,如:

u32 C_time 可以在头文件里查到,如图1-2-42 所示。

图1-2-42 c_types.h 头文件(www.xing528.com)

通过头文件翻译过来就是unsigned int C_time,这就变成了C 语言中最简单的变量声明,接下来只需给变量C_time 赋值,而且赋多少就是多少毫秒,参数C_time 最大值也是65535。这样就很方便用户的编程。

【程序1.2.2】让LED 每隔300 ms 闪烁一次,我们将delay_ms(u32 C_time)函数中的C_time 改为300,程序如下:

注意:os_delay_us(uint16 us)函数为系统函数,头文件已经加载,所以不用重新添加头文件。

将程序下载到开发板上,可以看见LDE 灯先亮300 ms,再灭300 ms,如此循环闪烁。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈