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 ...