单片机学习小组
直播中

h1654155598.0450

12年用户 668经验值
私信 关注

请问nodemcu用lua语言能实现延迟呼吸灯吗

同步语言与异步语言有什么区别呢?
nodemcu用lua语言能实现延迟呼吸灯吗?

回帖(1)

李婷

2022-2-15 11:37:17
nodemcu用lua语言实现延迟呼吸灯。
做过单片机,用惯了c语言的,都喜欢用while或for来实现延迟,但是lua语言用while循环就没用了,因为c语言是同步语言,lua是异步语言。
同步和异步什么区别呢?
同步:第一句没执行完,不会去执行第二句语言
异步:第一句是否执行完不重要,第二句语言也会去执行,异步语言的好处是效率高,但问题是,很多编程是需要获得第一句的返回值,或等第一句执行完才能执行第二句,这样就行不通了。
所以用lua语言编程,就不能用c语言的思维
这里的延迟,需要用到的是延迟函数

ledState = 0                //定义变量


function ledPWM()                                         //定义了个函数
    if (ledState == 1) then
        ledState = 0
        gpio.write(0, gpio.HIGH)
        gpio.write(1, gpio.LOW)
    else
        ledState = 1
        gpio.write(0, gpio.LOW)
        gpio.write(1, gpio.HIGH)
    end
end
tmr.alarm(0, 1000, tmr.ALARM_AUTO, ledPWM)                        //定义了个定时器,编号是0,间隔1m执行,执行函数为ledPWM
举报

更多回帖

发帖
×
20
完善资料,
赚取积分