nodemcu制作闪烁小灯

原文: http://2016.8-p.info/post/01-16-nodemcu-blink/

简单实现方法

led正极接针脚, 负极接gnd

--第2个针脚
LED_PIN = 1
--转换为毫秒
US_TO_MS = 1000
--设置引脚为输出模式
gpio.mode(LED_PIN, gpio.OUTPUT)

--死循环
while true do
--点亮led
   gpio.write(LED_PIN, gpio.HIGH)
--暂停0.5秒
   tmr.delay(500 * US_TO_MS)
--熄灭led
   gpio.write(LED_PIN, gpio.LOW)
--暂停0.5秒
   tmr.delay(500 * US_TO_MS)
end

正规实现方法

死循环并不推荐, 这样无法实现中断, 也无法再推送lua代码
使用timer来处理吧

--设置控制针脚
LED_PIN = 1
--设置针脚模式
gpio.mode(LED_PIN, gpio.OUTPUT)
--设置变量
value = true
--设置计时器0每0.5秒执行一次程序
tmr.alarm(0, 500, 1, function ()
--设置led状态
    gpio.write(LED_PIN, value)
--改变led状态
    value = not value
end)

术语

中断

打断当前处理器做的事情, 优先做中断的请求
其实学过编程后会很好理解中断是什么, 中断就是硬件的事件
就像做手机开发时, 手机晃动的检测, 是否点击了某个按钮, 滑动了屏幕, 这都是一系列的程序事件
或者另一个比方是玩游戏机, 游戏中人物的操作, 体现在手柄的按键上. 而响应这种操作的就是中断.

gpio中断 - 给引脚一个高电平 or 低电平 or 上升沿 or 下降沿
计时器中断 - 计时器时间到了
串口数据中断

中断其实是对一个事件的反馈, 反馈的方式就是调用一个函数/方法, 让它在这一刻执行

死循环

通过频繁循环无用代码次数来达到延迟时间的目的

单片机机制

单片机每执行一次命令都需要一定的时间, 而如果堆满了命令, 就没办法通过中断插入程序, 影响调试和通信等功能

https://blog.csdn.net/FourLeafCloverLLLS/article/details/83051326

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo阅读 9,221评论 1 20
  • 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本...
    荣卓然阅读 6,006评论 0 5
  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 8,683评论 0 8
  • 姓名:周崇杰 学号:16040120059 专业:机械设计制造及其自动化 转载自:http://blog.csd...
    CJbaby阅读 5,370评论 0 6
  • 小时候,一直都做着一个梦,梦里,自己和他开心的在田野里,一待就是一天,奶奶给我们讲着故事,这是我最美好的梦。而现实...
    面具下的假笑阅读 2,299评论 0 0

友情链接更多精彩内容