版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘自:函數(shù)部分?jǐn)?shù)字I/OpinMode()描述將指定的引腳配置成輸出或輸入。詳情請(qǐng)見digitalpins語(yǔ)法pinMode(pin,mode)參數(shù)pin:要設(shè)置模式的引腳mode:INPUT或OUTPUT返回?zé)o例子ledPin=13語(yǔ)法noTone(pin)參數(shù)pin:所要停止產(chǎn)生聲音的引腳返回?zé)oshiftOut()shiftOut()描述將一個(gè)數(shù)據(jù)的一個(gè)字節(jié)一位一位的移出。從最高有效位(最左邊)或最低有效位(最右邊)開始。依次向數(shù)據(jù)腳寫入每一位,之后時(shí)鐘腳被拉高或拉低,指示剛才的數(shù)據(jù)有效。注意:如果你所連接的設(shè)備時(shí)鐘類型為上升沿,你要確定在調(diào)用shiftOut()前時(shí)鐘腳為低電平,如調(diào)用digitalWrite(clockPin,LOW)。注意:這是一個(gè)軟件實(shí)現(xiàn);Arduino提供了一個(gè)硬件實(shí)現(xiàn)的SPI庫(kù),它速度更快但只在特定腳有效。語(yǔ)法shiftOut(dataPin,clockPin,bitOrder,value)參數(shù)dataPin:輸出每一位數(shù)據(jù)的引腳 (int)clockPin:時(shí)鐘腳,當(dāng)dataPin有值時(shí)此引腳電平變化(int)bitOrder:輸出位的順序,最高位優(yōu)先或最低位優(yōu)先value:要移位輸出的數(shù)據(jù) (byte)返回?zé)oshiftIn()描述將一個(gè)數(shù)據(jù)的一個(gè)字節(jié)一位一位的移入。從最高有效位(最左邊)或最低有效位(最右邊)開始。對(duì)于每個(gè)位,先拉高時(shí)鐘電平,再?gòu)臄?shù)據(jù)傳輸線中讀取一位,再將時(shí)鐘線拉低。注意:這是一個(gè)軟件實(shí)現(xiàn);Arduino提供了一個(gè)硬件實(shí)現(xiàn)的SPI庫(kù),它速度更快但只在特定腳有效。語(yǔ)法shiftIn(dataPin,clockPin,bitOrder)參數(shù)dataPin:輸出每一位數(shù)據(jù)的引腳 (int)clockPin:時(shí)鐘腳,當(dāng)dataPin有值時(shí)此引腳電平變化(int)bitOrder:輸出位的順序,最高位優(yōu)先或最低位優(yōu)先返回讀取的值(byte)pulseIn()描述讀取一個(gè)引腳的脈沖(HIGH或LOW。例如,如果value是HIGH,pulseIn()會(huì)等待引腳變?yōu)镠IGH,開始計(jì)時(shí),再等待引腳變?yōu)?LOW并停止計(jì)時(shí)。返回脈沖的長(zhǎng)度,單位微秒。如果在指定的時(shí)間內(nèi)無(wú)脈沖函數(shù)返回。此函數(shù)的計(jì)時(shí)功能由經(jīng)驗(yàn)決定,長(zhǎng)時(shí)間的脈沖計(jì)時(shí)可能會(huì)出錯(cuò)。計(jì)時(shí)范圍從 10微秒至3分鐘。(1秒=1000毫秒=1000000微秒)語(yǔ)法pulseIn(pin,value)pulseIn(pin,value,timeout)參數(shù)pin:你要進(jìn)行脈沖計(jì)時(shí)的引腳號(hào)(int)。value:要讀取的脈沖類型,HIGH或LOW(int)。timeout(可選):指定脈沖計(jì)數(shù)的等待時(shí)間,單位為微秒,默認(rèn)值是 1秒(unsignedlong)返回脈沖長(zhǎng)度(微秒),如果等待超時(shí)返回0(unsignedlong)例子intpin=7;unsignedlongduration;voidsetup()pinMode(pin,INPUT);}voidloop(){duration=pulseIn(pin,HIGH);;}時(shí)間millis()描述返回Arduino開發(fā)板從運(yùn)行當(dāng)前程序開始的毫秒數(shù)。這個(gè)數(shù)字將在約50天后溢出(歸零)參數(shù)無(wú)返回返回從運(yùn)行當(dāng)前程序開始的毫秒數(shù)(無(wú)符號(hào)長(zhǎng)整數(shù))。例子unsignedlongtime;voidsetup(){(9600) ;}voidloop(){("Time:");time=millis();返回?zé)o注意事項(xiàng)當(dāng)中斷函數(shù)發(fā)生時(shí),delay()和millis()的數(shù)值將不會(huì)繼續(xù)變化。當(dāng)中斷發(fā)生時(shí),串口收到的數(shù)據(jù)可能會(huì)丟失。你應(yīng)該聲明一個(gè)變量來(lái)在未發(fā)生中斷時(shí)儲(chǔ)存變量。使用中斷在單片機(jī)自動(dòng)化程序中當(dāng)突發(fā)事件發(fā)生時(shí),中斷是非常有用的,它可以幫助解決時(shí)序問(wèn)題。一個(gè)使用中斷的任務(wù)可能會(huì)讀一個(gè)旋轉(zhuǎn)編碼器,監(jiān)視用戶的輸入。如果你想以確保程序始終抓住一個(gè)旋轉(zhuǎn)編碼器的脈沖,從來(lái)不缺少一個(gè)脈沖,它將使寫一個(gè)程序做任何事情都要非常棘手,因?yàn)樵撚?jì)劃將需要不斷輪詢的傳感器線編碼器,為了趕上脈沖發(fā)生時(shí)。其他傳感器也是如此,如試圖讀取一個(gè)聲音傳感器正試圖趕上一按,或紅外線槽傳感器(照片滅弧室),試圖抓住一個(gè)硬幣下降。在所有這些情況下,使用一個(gè)中斷可以釋放的微控制器來(lái)完成其他一些工作。程序示例intpin=13;volatileintstate=LOW;voidsetup(){pinMode(pin,OUTPUT);attachInterrupt(0,blink,CHANGE);}voidloop(){digitalWrite(pin,state);}voidblink(){state=!state;}detachInterrupt()detachInterrupt(interrupt)描述關(guān)閉給定的中斷。參數(shù)interrupt:中斷禁用的數(shù)(0或者1).開關(guān)中斷interrupts()interrupts()(中斷)描述重新啟用中斷(使用noInterrupts()命令后將被禁用)。中斷允許一些重要任務(wù)在后臺(tái)運(yùn)行,默認(rèn)狀態(tài)是啟用的。禁用中斷后一些函數(shù)可能無(wú)法工作,并傳入信息可能會(huì)被忽略。中斷會(huì)稍微打亂代碼的時(shí)間,但是在關(guān)鍵部分可以禁用中斷。參數(shù)無(wú)返回?zé)o例子voidsetup(){}voidloop(){noInterrupts();語(yǔ)法對(duì)于所有的arduino板:if(Serial)ArduinoLeonardo特有:if(Serial1)ArduinoMega特有:if(Serial1)if(Serial2)if(Serial3)參數(shù)無(wú)返回布爾值:如果指定的串行端口是可用的,則返回true。如果查詢Leonardo的USBCDCI行連接之前,它是準(zhǔn)備好的,將只返回false。例子voidsetup(){語(yǔ)法(target)參數(shù)target:要搜索的字符串(字符)返回布爾型findUntil()()說(shuō)明()從串行緩沖區(qū)讀取數(shù)據(jù),直到找到一個(gè)給定的長(zhǎng)度或字符串終止位。如果目標(biāo)字符串被發(fā)現(xiàn),該函數(shù)返回true,如果超時(shí)則返回false。()繼承了Stream類。語(yǔ)法(target,terminal)參數(shù)target:要搜索的字符串(char)terminal: 在搜索中的字符串終止位 (char)返回布爾型flush()flush()說(shuō)明等待超出的串行數(shù)據(jù)完成傳輸。(在及以上的版本中,flush()語(yǔ)句的功能不再是丟棄所有進(jìn)入緩存器的串行數(shù)據(jù)。)flush()繼承了Stream類.語(yǔ)法()僅ArduinoMega可以使用的語(yǔ)法:()()()參數(shù)無(wú)返回?zé)oparseFloat()()描述()命令從串口緩沖區(qū)返回第一個(gè)有效的浮點(diǎn)數(shù).Charactersthatarenotdigits(ortheisminussign)areskipped.parseFloat()isterminatedbythefirstcharacterthatnotafloatingpointnumber.is()繼承了Stream類。語(yǔ)法()參數(shù)無(wú)返回floatparseInt()parseInt()說(shuō)明查找傳入的串行數(shù)據(jù)流中的下一個(gè)有效的整數(shù)。parseInt()繼承了Stream類。語(yǔ)法()下面三個(gè)命令僅適用于 ArduinoMega:()()()Parameters無(wú)返回int:下一個(gè)有效的整數(shù)peek()說(shuō)明返回傳入的串行數(shù)據(jù)的下一個(gè)字節(jié)(字符),而不是進(jìn)入內(nèi)部串行緩沖器調(diào)取。也就是說(shuō),連續(xù)調(diào)用peek()將返回相同的字符,與調(diào)用read()方法相同。peek()繼承自Stream類。語(yǔ)法()僅適用于ArduinoMega:()()()參數(shù)無(wú)返回傳入的串行數(shù)據(jù)的第一個(gè)字節(jié)(或 -1,如果沒(méi)有可用的數(shù)據(jù)的話)-intprint()說(shuō)明以人們可讀的ASCII文本形式打印數(shù)據(jù)到串口輸出。此命令可以采取多種形式。每個(gè)數(shù)字的打印輸出使用的是 ASCII字符。浮點(diǎn)型同樣打印輸出的是 ASCII字符,保留到小數(shù)點(diǎn)后兩位。Bytes型則打印輸出單個(gè)字符。字符和字符串原樣打印輸出。()打印輸出數(shù)據(jù)不換行,()打印輸出數(shù)據(jù)自動(dòng)換行處理。例如(78)輸出為“ 78”輸出為“”(“N”)輸出為“ N”(“Helloworld.”)輸出為“Helloworld.”也可以自己定義輸出為幾進(jìn)制(格式) ;可以是BIN(二進(jìn)制,或以2為基數(shù)),OCT(八進(jìn)制,或以8為基數(shù)),DEC(十進(jìn)制,或以10為基數(shù)),HEX(十六進(jìn)制,或以16為基數(shù))。對(duì)于浮點(diǎn)型數(shù)字,可以指定輸出的小數(shù)數(shù)位。例如(78,BIN)輸出為“ 1001110”TOC\o"1-5"\h\z(78,OCT)輸出為“ 116”(78,DEC)輸出為“ 78”(78,HEX)輸出為“ 4E”,0)輸出為“1”,2)輸出為“”,4)輸出為“”你可以通過(guò)基于閃存的字符串來(lái)進(jìn)行打印輸出,將數(shù)據(jù)放入F()中,再放入()。例如(F(“Helloworld”))若要發(fā)送一個(gè)字節(jié),則使用()。語(yǔ)法(val)(val,格式)val:打印輸出的值 -任何數(shù)據(jù)類型格式:指定進(jìn)制(整數(shù)數(shù)據(jù)類型)或小數(shù)位數(shù)(浮點(diǎn)類型)返回字節(jié)print()將返回寫入的字節(jié)數(shù),但是否使用(或讀出)這個(gè)數(shù)字是可設(shè)定的例子:/*使用for循環(huán)打印一個(gè)數(shù)字的各種格式。*/intx=0;()返回放置在緩沖區(qū)的字符數(shù)。返回0意味著沒(méi)有發(fā)現(xiàn)有效的數(shù)據(jù)。()繼承自Stream類.語(yǔ)法(buffer,length)元素buffer:用來(lái)存儲(chǔ)字節(jié)( char[]或byte[])的緩沖區(qū)length:讀取的字節(jié)數(shù)( int)返回bytereadBytesUntil()()說(shuō)明()將字符從串行緩沖區(qū)讀取到一個(gè)數(shù)組。如果檢測(cè)到終止字符,或預(yù)設(shè)的讀取長(zhǎng)度讀取完畢,或者時(shí)間到了(參見())函數(shù)將終止。()返回讀入數(shù)組的字符數(shù)。返回0意味著沒(méi)有發(fā)現(xiàn)有效的數(shù)據(jù)。()繼承自Stream類。語(yǔ)法(character,buffer,length)元素character:要搜索的字符(char)buffer:緩沖區(qū)來(lái)存儲(chǔ)字節(jié)(char[]或byte[])length:讀的字節(jié)數(shù)(int)返回bytesetTimeout()()說(shuō)明()設(shè)置使用()或()時(shí)等待串口數(shù)據(jù)的最大毫秒值 .默認(rèn)為1000毫秒。()繼承自Stream類。語(yǔ)法(time)參數(shù)time:以毫秒為單位的超時(shí)時(shí)間(long)。返回結(jié)果無(wú)write()說(shuō)明寫入二級(jí)制數(shù)據(jù)到串口。發(fā)送的數(shù)據(jù)以一個(gè)字節(jié)或者一系列的字節(jié)為單位。如果寫入的數(shù)字為字符,需使用print()命令進(jìn)行代替。語(yǔ)法(val)(str)(buf,len)ArduinoMega還支持:Serial1,Serial2,Serial3(替代Serial)參數(shù)val:以單個(gè)字節(jié)形式發(fā)的值str:以一串字節(jié)的形式發(fā)送的字符串buf:以一串字節(jié)的形式發(fā)送的數(shù)組len:數(shù)組的長(zhǎng)度返回結(jié)果bytewrite()將返回寫入的字節(jié)數(shù),但是否使用這個(gè)數(shù)字是可選的例子voidsetup(){(9600);}voidloop(){(45);}SerialEvent()ExamplesReadASCIIStringASCIITableDimmerGraphPhysicalPixelVirtualColorMixerSerialCallResponseSerialCallResponseASCIIStreamUSB(僅適用于Leonardo和Due)鍵盤鼠標(biāo)MouseandKeyboardlibrariesThesecorelibrariesallowanArduinoLeonardoboardtoappearasanativeMouseand/orKeyboardtoaconnectedcomputer.AwordofcautiononusingtheLeonardoasaMouseorKeyboard:iftheMouseorKeyboardlibraryisconstantlyrunning,itwillbedifficulttoprogramyourboard.Functionssuchas()and()willmoveyourcursororsendkeystrokestoaconnectedcomputerandshouldonlybecalledwhenyouarereadytohandlethem.Itisrecommendedtouseacontrolsystemtoturnthisfunctionalityon,likeaphysicalswitchoronlyrespondingtospecificinputyoucancontrol.WhenusingtheMouseorKeyboardlibrary,itmaybebesttotestyouroutputfirstusing().Thisway,youcanbesureyouknowwhatvaluesarebeingreported.RefertotheMouseandKeyboardexamplesforsomewaystohandlethis.MouseThemousefunctionsenabletoLeonardotocontrolcursormovementonaconnectedcomputer.Whenupdatingthecursorposition,itisalwaysrelativetothecursor'spreviouslocation.()()()()()()()KeyboardThekeyboardfunctionsenabletoLeonardotosendkeystrokestoanattachedcomputer.Note:NoteverypossibleASCIIcharacter,particularlythenon-printingones,canbesentwiththeKeyboardlibrary.TheLeonardosupportstheuseofmodifierkeys.Modifierkeyschang
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 郵政營(yíng)業(yè)員考試試題及答案
- vivo秋招面筆試題及答案
- 2026自媒體校招面試題及答案
- 車站售票員考試題及答案
- 2026黑龍江哈爾濱市公安局平房分局招聘警務(wù)輔助人員29人參考題庫(kù)附答案
- 北京市大興區(qū)瀛海鎮(zhèn)社區(qū)衛(wèi)生服務(wù)中心面向社會(huì)招聘臨時(shí)輔助用工3人備考題庫(kù)附答案
- 嘉興市南湖區(qū)人民政府辦公室下屬事業(yè)單位公開選聘事業(yè)單位工作人員1人參考題庫(kù)必考題
- 平昌縣縣級(jí)醫(yī)療機(jī)構(gòu)公開選調(diào)工作人員的(15人)參考題庫(kù)附答案
- 瀘縣2025年第二次公開考試選調(diào)機(jī)關(guān)事業(yè)單位工作人員的(41人)考試備考題庫(kù)必考題
- 浙江國(guó)企招聘-2026年金華蘭溪市市屬國(guó)企(城投集團(tuán))人才引進(jìn)招聘3人參考題庫(kù)必考題
- 《認(rèn)識(shí)時(shí)鐘》大班數(shù)學(xué)教案
- 新疆維吾爾自治區(qū)伊犁哈薩克自治州2023-2024學(xué)年八年級(jí)下學(xué)期期中數(shù)學(xué)試題
- 人工智能在專業(yè)通信領(lǐng)域的應(yīng)用
- T-CI 178-2023 高大邊坡穩(wěn)定安全智能監(jiān)測(cè)預(yù)警技術(shù)規(guī)范
- THHPA 001-2024 盆底康復(fù)管理質(zhì)量評(píng)價(jià)指標(biāo)體系
- 傷口的美容縫合減少瘢痕的形成
- MSOP(測(cè)量標(biāo)準(zhǔn)作業(yè)規(guī)范)測(cè)量SOP
- 顱鼻眶溝通惡性腫瘤的治療及護(hù)理
- 人教版四年級(jí)《上冊(cè)語(yǔ)文》期末試卷(附答案)
- 四川山體滑坡地質(zhì)勘察報(bào)告
- 青島啤酒微觀運(yùn)營(yíng)
評(píng)論
0/150
提交評(píng)論