arduino的基本函式

2021-10-07 22:29:04 字數 3649 閱讀 7271

1.pinmode(pin,mode)

pinmode用以配置引腳為輸出或輸出模式,它是乙個無返回值函式,函式有兩個引數pin(表示所要配置的引腳)和mode(引數表示設定的模式——input或者output)。

2.digitalwrite(pin,value)

設定引腳的電壓為高電壓或低電平。該函式也是乙個無返回值的函式,函式有兩個引數分別表示:

pin引數:要設定引腳;

value引數:表示輸出的電壓:high或者low。

3.digitalread(pin)

函式可以獲取引腳的電壓情況——high或low,pin表示所要獲取電壓值的引腳,該函式返回值為int型。

1.analogreference(type)

配置模擬引腳的參考電壓。在嵌入式應用中引腳獲取模擬電壓值之後,根據參考電壓將模擬值轉換到0~1023。該函式無返回值,引數為type型別。

2.analogread(pin)

用於讀取引腳的模擬量電壓值,每讀一次需要花μs的時間。引數pin表示所要獲取模擬量電壓值的引腳,該函式返回值為int型,表示引腳模擬量電壓值,範圍在0~1023。

analogwrite(pin,value)

anlogwrite函式通過pwm的方式在引腳上輸出乙個模擬量,較多的應用在led亮度控制、電機轉速等方面。

t:pwm波的週期

d:是高電平寬度

d/t:pwm波的占空比,當上述pwm波通過乙個低通濾波器後,波形中高頻的部分被濾掉得到所需的波形,其平均電壓為vcc

×d/t

vcc×d/t

vcc×d/

t。1.shiftout(datapin,clockpin,bitorder,val)

shiftout函式能夠將資料通過序列的方式在引腳上輸出

相當於一般意義上的同步序列通訊

這是控制器與控制器、控制器與感測器之間的常用的通訊方式。

2.pulse(pin,state,timeout)

用於讀取引腳脈衝的時間函式;

脈衝為high時:先將等引腳變為高電平,然後開始計時,直到變為低電平為止。返回脈衝持續時間長短,單位ms。如果超時還沒有多大平的話,返回0;

返回值為無符號長整型(unsigned long),三個引數分別表示脈衝輸入的引腳、脈衝響應的狀態(高脈衝或者低脈衝)和超時時間。

1.mills()

應用mills函式可獲取機器執行的時間長度,單位ms,系統最長記錄時間為9小時22分,如果超出時間將從0開始,函式返回值unsigned long型,無引數。

如果用int型儲存時間會得到錯誤結果

2.delay(ms)

延遲函式,單位是ms,無返回值。

3.delaymicroseconds(us)

延遲函式,單位是us。

min(x,y)

返回x,y中兩者較小的。

max(x,y)

返回兩者中較大的。

abs(x)

獲取x的絕對值。

constrain(amt,low,high)

函式的工作過程是:如果amt小於low,則返回low;如果amt大於high,則返回high;否則,返回amt。

該函式一般可以用於將值歸一化到某個區間內

map(x,in_min,in_max,out_min,out_max)

將[in_min,in_max]範圍內的x等比對映到[out_min,out_max]範圍內。函式返回值為long型,原型為:

sin(rad)、cos(rad)、tan(rad)

三角函式

randomseed(seed)

設定隨機數種子,隨機種子的設定對產生的隨機序列有影響。函式無返回值。

random(howsmall,howbig)

函式可以生成乙個隨機數,兩個引數howsmall和howbig決定了隨機數的範圍,函式的引數及返回值均為long型。

作用於設定或讀取位元組中某一位或幾位,包括bitread()、bitset()、bitclear()等。

interrputs()和nolnterrupts

負責開啟和關閉中斷,函式無返回值,無引數。

attachintterrupt(interrupt,function,mode)

設定外部中斷

舉例:通過外部引腳觸發中斷函式,然後控制13號引腳的led的閃爍。

int pin=

13;volatile

int state=low;

void

setup()

void

loop()

//中斷處理函式

void

blink()

在使用attachinterrupt函式時要注意以下幾點:

arduino中串列埠通訊是通過hardwareserial類來實現的,在標頭檔案hardwareserial類的物件serial,直接使用類的成員函式就可以簡單地實現串列埠通訊。

串列埠調光器的程式為例子:

const

int ledpin=

9;void

setup()

void

loop()

}

spi:同步序列外設介面匯流排,它可以使mcu與各種外圍裝置以序列方式進行通訊以及交換資訊。

匯流排採用3根或4根資料線進行資料傳輸,常用的是4根線,即兩條控制線(晶元選擇cs和時鐘sclk)以及兩條資料訊號sdi和sdo。

在spi通訊中,資料是同步進行傳送和接收的。資料傳輸的時鐘基於來自主處理器產生的時鐘脈衝。

spi介面資料傳輸spi是以主從方式工作的,其允許乙個主裝置和多個裝置進行通訊,主折半通過不同的ss訊號選擇不同的從裝置進行通訊。

在實際應用中,未選中的從裝置的mosi訊號線需要處於高阻狀態,否則會影響主裝置與選中的裝置間的正常通訊。

spi類及其成員函式

arduino中的spi通訊是通過spiclass類來實現的,使用spiclass類能夠方便地將arduino作為主裝置與其他裝置進行通訊。spiclass類提供了6個成員函式使用者呼叫:

Arduino基本函式

功能 配置乙個埠為輸入或輸出埠,無返回值 pin 所配引腳的標號,0 13 mode input 輸入模式 output 輸出模式 input pullup 輸入上拉模式 功能 設定乙個引腳的輸出電壓為低電平或高電平,無返回值,需要先將引腳設定為輸出引腳 pin 所配引腳的標號,0 13 value...

arduino相關函式

這裡總結了一下arduino的相關函式。描述 將指定的針腳配置成輸出或輸入。引數 pin 要設定模式的針腳 針腳號 mode input 輸入 或者 output 輸出 2.digitalwrite pin,value pin 針腳編號 針腳號 value high或low 或者1或0 描述 讀取指...

arduino常用函式的總結

關鍵字,語法符號,資料型別,常量。數字操作即為高低電平操作 0 1 模擬i o口值 0 1023 210,a d轉 換2 a d轉換 210,a d轉換shiftin datapin,clockpin,bitorder,data,count,delaytime 讀取引腳上的資料,一次一位。他可以讀取...