Air202入坑指南2 LED閃爍

2021-10-06 11:16:22 字數 1959 閱讀 1341

首先我們需要注意的是關於這個air202的原理圖以及關於引腳方面的設定。

pins.setup(pin, val, pull)

配置gpio模式

傳入值型別 釋義

number pin,gpio id

gpio 0到gpio 31表示為pio.p0_0到pio.p0_31

gpio 32到gpio xx表示為pio.p1_0到pio.p1_(xx-32),例如gpio33 表示為pio.p1_1

param val,number、nil或者function型別

配置為輸出模式時,為number型別,表示預設電平,0是低電平,1是高電平

配置為輸入模式時,為nil

配置為中斷模式時,為function型別,表示中斷處理函式

param pull, number, pio.pullup:上拉模式 。pio.pulldown:下拉模式。pio.nopull:高阻態

如果沒有設定此引數,預設的上下拉參考模組的硬體設計說明書

setoutputfnc = pins.setup(pio.p1_1,0),配置gpio 33,輸出模式,預設輸出低電平;

-- 執行setoutputfnc(0)可輸出低電平,執行setoutputfnc(1)可輸出高電平

getinputfnc = pins.setup(pio.p1_1,intfnc),配置gpio33,中斷模式

-- 產生中斷時自動呼叫intfnc(msg)函式:上公升沿中斷時:msg為cpu.int_gpio_posedge;下降沿中斷時:msg為cpu.int_gpio_negedge

-- 執行getinputfnc()即可獲得當前電平;如果是低電平,getinputfnc()返回0;如果是高電平,getinputfnc()返回1

getinputfnc = pins.setup(pio.p1_1),配置gpio33,輸入模式

-- 執行getinputfnc()即可獲得當前電平;如果是低電平,getinputfnc()返回0;如果是高電平,getinputfnc()返回1

由於文件顯示led的引腳是p33和p29所以根據上圖的pin模組的提示我們可以確認可以將引腳配置為p1-1和p0-29.

local level = 0

--gpio1配置為輸出,預設輸出低電平,可通過setgpio1fnc(0或者1)設定輸出電平

local setgpio1fnc = pins.setup(pio.p1_1, 0)

sys.timerloopstart(

function()

level = level == 0 and 1 or 0

setgpio1fnc(level)

log.info("testgpiosingle.setgpio33fnc", level)

end,

1000

)local gpio_led = pins.setup(pio.p0_29, 0)

sys.timerloopstart(

function()

gpio_led(1)

log.info("testgpiosingle.setgpio29fnc", 1)

end,

1000

)--gpio5配置為輸入,可通過getgpio5fnc()獲取輸入電平

local getgpio5fnc = pins.setup(pio.p0_5)

sys.timerloopstart(

function()

log.info("testgpiosingle.getgpio5fnc", getgpio5fnc())

end,

1000

)

由程式可見。通過pins模組的設定我們可以控制led的閃爍。s9開發板的led燈現在就是乙個燈閃爍另外乙個燈常亮。並且可以實時的顯示引腳的狀態。

Angular2入坑指南 服務

在開發過程中,對於mvc開發模式來說,使用公共元件和公共服務,可以大大提高開發速率,那麼如何來封裝或者說如何來定義乙個公共服務呢?今天老猴子來講解下如何定義公共服務。拿http請求舉例,這個是最常用的功能,獲取資料和傳遞資料都需要用到http,我們來看下如何定義公共服務來傳遞和接收資料。首先我們建立...

Kafka入坑指南

kafka是為大資料而生的訊息中介軟體,以其百萬級tps的吞吐量名聲大噪,迅速成為大資料領域的寵兒,在資料採集 傳輸 儲存的過程中發揮著舉足輕重的作用,而storm,spark,flink等大資料流處理或批處理平台都有kafka的相關外掛程式支援。本著為開源做貢獻的原則,在學習kafka的同時也參與...

docker docker 入坑指南

用docker是因為在專案中需要在無網的情況下部署系統,因此環境依賴需要大量手動安裝,並且依賴中可能還有需要的依賴,簡直是無底洞。因為手動的原因,安裝堪稱是無底洞,並且乙個依賴安裝不成功會導致整個環境安裝失敗。基於此,開始探索通過docker的部署的方式解決 部署的問題,兩天的研究,可以說docke...