Nodemcu延遲實現呼吸燈

2021-10-06 16:38:36 字數 822 閱讀 4315

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)

endendtmr.

alarm(0

,1000

, tmr.alarm_auto, ledpwm)

//定義了個定時器,編號是0,間隔1m執行,執行函式為ledpwm

verilog PWM實現呼吸燈

使用pwm技術實現呼吸燈。利用占空比每1ms遞增1us的占空比來點亮led。沒隔1s實現燈由逐漸變亮到逐漸變暗,或者逐漸變暗到逐漸變數的轉換。使用的語言是verilog。module led breath parameter led width 4 input clk,global clock in...

通過ValueAnimator實現呼吸燈效果

主要是通過animatorupdatelistener獲得狀態,執行乙個不現實的動畫,根據獲得的執行值自己設定view或者drawable的狀態。如下 valueanimator alphaanim null 透明漸變的動畫 param animtype 動畫的型別,迴圈 單次 0是單次,1是迴圈,...

呼吸燈按鈕的實現

前幾天瀏覽網頁是時候,發現乙個特效,感覺很不錯,博主仿照它的樣子寫了一下,下面直接見 吧。在頁面中新增乙個提交按鈕 class submit style type submit class submit value 登入 div body 下面進行樣式設計。大小高寬就不說了,直奔重點 border ...