在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino串行

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-18 17:21 ? 次閱讀

第1步:

說明

指示指定的串行端口是否已就緒。

在基于32u4的板上(Leonardo,Yùn,ecc),如果((串行))指示USB CDC串行連接是否打開。對于所有其他實例,包括Leonardo上的if(Serial1),它將始終返回true。

這是Arduino 1.0.1中引入的。

如何使用Arduino串行

語法

所有板:if(Serial)

特定于Arduino Leonardo:if(Serial1)

特定于Arduino Mega的:if(Serial1)if(Serial2)if(Serial3)

參數(shù)

返回

布爾值:如果指定的串行端口為true,則返回true可用。僅在準(zhǔn)備好之前查詢Leonardo的USB CDC串行連接時,這將返回false。

示例:

void setup(){

//初始化串行并等待端口打開:

Serial.begin(9600);

while(!Serial){

;//等待串口連接。本地USB所需

}

}

void loop(){

//正常進(jìn)行

}

步驟2:命令:Available()

描述

獲取可用于從串行端口讀取的字節(jié)數(shù)(字符)。這是已經(jīng)到達(dá)并存儲在串行接收緩沖區(qū)(包含64個字節(jié))中的數(shù)據(jù)。 available()繼承自Stream實用程序類。

語法

Serial.available( )

僅適用于Arduino Mega:Serial1.available()Serial2.available()Serial3.available()

參數(shù)

的返回 的

可讀取的字節(jié)數(shù)

示例

int entryingByte = 0;//用于輸入串行數(shù)據(jù)

void setup(){

Serial.begin(9600);//打開串行端口,將數(shù)據(jù)速率設(shè)置為9600 bps

}

void loop(){

//僅在接收數(shù)據(jù)時才發(fā)送數(shù)據(jù):

if(Serial.available()》 0){

//讀取傳入的字節(jié):

傳入的字節(jié)= Serial.read();

////說說你得到了什么:

Serial.print(“我收到了:”);

Serial.println(incomingByte,DEC);

}

}

第3步:命令:AvailableForWrite()

說明

獲取可用于在串行緩沖區(qū)中寫入而不阻止寫入操作的字節(jié)數(shù)(字符)。

的的語法 的

Serial.availableForWrite()

的僅限Arduino Mega :

Serial1.availableForWrite()

Serial2.availableForWrite()

Serial3.availableForWrite ()

步驟4:命令:Begin()

描述

設(shè)置串行的數(shù)據(jù)速率,以每秒比特數(shù)(波特)為單位數(shù)據(jù)傳輸。要與計算機通信,請使用以下費率之一:300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600或115200。但是,您可以指定其他費率-例如,通過引腳0和1與需要特定波特率的組件進(jìn)行通信。

可選的第二個參數(shù)配置數(shù)據(jù),奇偶校驗和停止位。默認(rèn)值為8個數(shù)據(jù)位,無奇偶校驗,一個停止位。

語法

Serial.begin(speed)Serial.begin(speed,config)

僅適用于Arduino Mega:Serial1.begin(速度)Serial2.begin(速度)Serial3.begin(速度)Serial1.begin(速度,配置)Serial2.begin(速度,配置)Serial3.begin(速度) ,配置)

參數(shù)

速度:以每秒比特數(shù)(波特)為單位-長config:設(shè)置數(shù)據(jù),奇偶校驗和停止位。有效值為:

SERIAL_5N1

SERIAL_6N1

SERIAL_7N1

SERIAL_8N1(默認(rèn)值)

SERIAL_5N2

SERIAL_6N2

SERIAL_7N2

SERIAL_8N2

SERIAL_5E1

SERIAL_6E1

SERIAL_7E1

SERIAL_8E1

SERIAL_5E2

SERIAL_6E2

SERIAL_7E2

SERIAL_8E2

SERIAL_5O1

SERIAL_6O1

SERIAL_7O1

SERIAL_8O1

SERIAL_5O2

SERIAL_6O2

SERIAL_7O2

SERIAL_8O2

示例:

void setup(){

序列號.begin(9600);//打開串行端口,將數(shù)據(jù)速率設(shè)置為9600 bps

}

void loop(){}

第5步:命令:串行.find()

,點擊 的描述

Serial.find( )從串行緩沖區(qū)讀取數(shù)據(jù),直到找到給定長度的目標(biāo)字符串為止。如果找到目標(biāo)字符串,則該函數(shù)返回true,如果超時則返回false。

Serial.find()從Stream實用程序類繼承。

語法

Serial.find(target)

步驟6:命令:Peek()

描述

返回輸入的串行數(shù)據(jù)的下一個字節(jié)(字符),而不會從內(nèi)部串行緩沖區(qū)中刪除它。也就是說,對peek()的連續(xù)調(diào)用將返回相同的字符,與對下一次對read()的調(diào)用一樣。 peek()繼承自Stream實用程序類。

語法

Serial.peek( )

僅Arduino Mega:

Serial1.peek()

Serial2.peek()

Serial3.peek()

步驟7:命令:Print()

描述

將數(shù)據(jù)作為人類可讀的ASCII文本打印到串行端口。該命令可以采用多種形式。數(shù)字使用每個數(shù)字的ASCII字符打印。浮點數(shù)類似地以ASCII數(shù)字打印,默認(rèn)為兩位小數(shù)。字節(jié)作為單個字符發(fā)送。字符和字符串按原樣發(fā)送。例如:

Serial.print(78)給出“ 78” Serial.print(1.23456)給出“ 1.23” Serial.print(‘N’)給出“ N” Serial.print(“ Hello world。 ”)給出“ Hello world”。第二個可選參數(shù)指定要使用的基本格式。允許的值為BIN(二進(jìn)制或以2為底),OCT(八進(jìn)制或以8為底),DEC(十進(jìn)制或以10為底),HEX(十六進(jìn)制或以16為底)。對于浮點數(shù),此參數(shù)指定要使用的小數(shù)位數(shù)。例如:

Serial.print(78,BIN)給出“ 1001110” Serial.print(78,OCT)給出“ 116” Serial.print(78,DEC)給出“ 78” Serial.print( 78,HEX)給出“ 4E” Serial.println(1.23456,0)給出“ 1” Serial.println(1.23456,2)給出“ 1.23” Serial.println(1.23456,4)給出“ 1.2346”您可以傳遞閃存通過使用F()將字符串包裝到Serial.print()中。例如:

Serial.print(F(“ Hello World”))要發(fā)送單個字節(jié),請使用Serial.write()。

語法

Serial.print(val)Serial.print(val,format)

參數(shù)

val:要打印的值-任何數(shù)據(jù)類型

格式:指定數(shù)字基(對于整數(shù)數(shù)據(jù)類型)或小數(shù)位數(shù)(對于浮點類型)

返回

size_t(長):print()返回寫入的字節(jié)數(shù),盡管讀取該字節(jié)數(shù)是可選的

示例 :

/*

對數(shù)據(jù)使用FOR循環(huán)并以各種格式打印數(shù)字。

*/

int x = 0;//變量

void setup(){

Serial.begin(9600);//以9600 bps打開串行端口:

}

void loop(){

//打印標(biāo)簽

串行。 print(“ NO FORMAT”);//打印標(biāo)簽

Serial.print(“ \ t”);//打印標(biāo)簽

Serial.print(“ DEC”);

Serial.print(“ \ t”);

Serial.print(“ HEX”);

Serial.print(“ \ t”);

Serial.print(“ OCT”);

Serial.print(“ \ t”);

Serial.print(“ BIN”);

Serial.print(“ \ t”);

for(x = 0; x 《64; x ++){//僅是ASCII圖表的一部分,更改為適合

//將其打印成多種格式:

Serial.print(x);//打印為ASCII編碼的十進(jìn)制-與“ DEC”一樣

Serial.print(“ \ t”);//打印標(biāo)簽

Serial.print(x,DEC);//打印為ASCII編碼的十進(jìn)制

Serial.print(“ \ t”);//打印標(biāo)簽

Serial.print(x,HEX);//打印為ASCII編碼的十六進(jìn)制

Serial.print(“ \ t”);//打印標(biāo)簽

Serial.print(x,OCT);//打印為ASCII編碼的八進(jìn)制

Serial.print(“ \ t”);//打印標(biāo)簽

Serial.println(x,BIN);//打印為ASCII編碼的二進(jìn)制文件

////然后使用“ println”添加回車符

delay(200);//延遲200毫秒

}

Serial.println(“”);//打印另一個回車符

}

步驟8:命令:Println()

描述

將數(shù)據(jù)作為人類可讀的ASCII文本打印到串行端口,后跟回車符(ASCII 13或‘\ r’)和換行符(ASCII 10或‘\ n’)。此命令的格式與Serial.print()相同。

語法

Serial .println(val)串行.println(val,格式)

參數(shù)

val :要打印的值-任何數(shù)據(jù)類型

格式:指定基數(shù)(對于整數(shù)數(shù)據(jù)類型)或小數(shù)位數(shù)(對于浮點類型)

返回

size_t(長整數(shù)):println()返回寫入的字節(jié)數(shù),盡管讀取該數(shù)字是可選的

示例:

/*

模擬輸入

讀取模擬輸入0上的模擬輸入,將值打印出來。

由Tom Igoe創(chuàng)建于2006年3月24日

*/

int AnalogValue = 0;//變量以保留模擬值

void setup(){

//以9600 bps打開串行端口:

Serial.begin(9600) ;

}

void loop(){

//讀取引腳0上的模擬輸入:

AnalogValue = AnalogRead(0 );

//以多種格式打印出來:

Serial.println(analogValue);//打印為ASCII編碼的十進(jìn)制

Serial.println(analogValue,DEC);//打印為ASCII編碼的十進(jìn)制

Serial.println(analogValue,HEX);//打印為ASCII編碼的十六進(jìn)制

Serial.println(analogValue,OCT);//打印為ASCII編碼的八進(jìn)制

Serial.println(analogValue,BIN);//打印為ASCII編碼的二進(jìn)制文件

////下次讀取前延遲10毫秒:

delay(10);

}
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 串行
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    34367
  • Arduino
    +關(guān)注

    關(guān)注

    189

    文章

    6493

    瀏覽量

    190279
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    第二章 Arduino基礎(chǔ)知識 本章,我們將向大家介紹Arduino是一個什么東西?讓大家對Arduino有一個大概了解。本章將分為如下幾個小節(jié):2.1什么是Arduino2.2
    發(fā)表于 05-13 09:28

    電容屏串行接口

    帝晶智慧屏電容屏串行接口
    的頭像 發(fā)表于 03-11 17:21 ?1316次閱讀

    用于 SPI 絕對編碼器的 Arduino 示例代碼

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代碼教程旨在為用戶提供一個堅實的起點,以便通過串行外設(shè)接口
    的頭像 發(fā)表于 01-26 21:35 ?750次閱讀
    用于 SPI 絕對編碼器的 <b class='flag-5'>Arduino</b> 示例代碼

    如何使用Arduino實現(xiàn)CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實時性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?1714次閱讀

    Arduino采集雷達(dá)模塊數(shù)據(jù)與串口繪圖

    Arduino采集雷達(dá)模塊數(shù)據(jù)與串口繪圖
    的頭像 發(fā)表于 12-14 11:44 ?772次閱讀
    <b class='flag-5'>Arduino</b>采集雷達(dá)模塊數(shù)據(jù)與串口繪圖

    Arduino Nano Matter開發(fā)板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter開發(fā)板現(xiàn)已正式上市。這是延續(xù)今年3 月芯科科技和Arduino釋出Arduino
    的頭像 發(fā)表于 12-10 13:50 ?838次閱讀

    HAL庫在Arduino平臺上的使用

    HAL庫在Arduino平臺上的使用 Arduino平臺是一個開源的電子原型平臺,它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino平臺因其簡單易用而受
    的頭像 發(fā)表于 12-02 14:04 ?1502次閱讀

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開發(fā)板 :確保你有一塊Arduino開發(fā)板,如Arduino Uno
    的頭像 發(fā)表于 11-22 09:24 ?2008次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個開源電子原型平臺,基于易于
    的頭像 發(fā)表于 11-19 15:45 ?3969次閱讀

    如何使用Arduino實現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動化等領(lǐng)域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino作為一個
    的頭像 發(fā)表于 11-12 10:09 ?2553次閱讀

    ESP-12 ESP8266如何通過I2C將SSID和RSSI信息發(fā)送到RPi / Arduino?

    我正在尋找我的 ESP-12 ESP8266,以便通過 I2C 將 SSID 和 RSSI 信息發(fā)送到 RPi / Arduino。關(guān)于如何進(jìn)行的任何建議? 我查看了文檔,不禁注意到 SSID
    發(fā)表于 07-22 07:36

    ESP8266為什么不響應(yīng)Arduino?

    arduino,其中從串行監(jiān)視器接收的任何命令都會轉(zhuǎn)發(fā)到連接到 esp8266 的串行器(mega 有 4 個硬件串行端口)。然而,即使是一個簡單的“AT”命令也不會從 wifi
    發(fā)表于 07-16 06:39

    ESP-WROOM-02D為什么無法響應(yīng)AT命令?

    我有兩個不同的模塊,它們在使用不同應(yīng)用程序(我使用 Arduino 串行)和另一個 Linux 應(yīng)用程序的不同計算機上以相同的方式響應(yīng),并且總是得到相同的結(jié)果,即沒有響應(yīng)。我嘗試了不同的變體,即新行
    發(fā)表于 07-15 07:32

    ESP8266 Huzzah不響應(yīng)AT命令的原因?

    我的 esp8266 Huzzah 分線板最近使用 esp 閃存工具,使用 NONOS SDK v2.0.0 重新刷新。我認(rèn)為這將允許 esp 在通過 arduino 串行監(jiān)視器發(fā)送 AT 命令
    發(fā)表于 07-11 08:21

    ESP8266-12E和Arduino框架時,在建立串行連接時必須將GPIO15拉至低電平才能工作,為什么?

    使用 NodeMCU (ESP8266-12E) 和 Arduino 框架時,我注意到在建立串行連接時必須將 GPIO15 拉至低電平。否則串行連接無法正常工作。這是什么原因,有沒有一份文件可以讓我閱讀?
    發(fā)表于 07-10 07:43
    主站蜘蛛池模板: 日本不卡高清视频 | 久久国产乱子伦精品免费看 | 啪啪网站免费观看 | 老司机狠狠k免费毛片 | 男人你懂的网站 | 性猛交xxxx乱大交孕妇 | 伊人精品成人久久综合欧美 | 簧片免费视频 | 黄色毛片免费网站 | 亚洲伦理一区二区三区 | 四虎看黄| 婷婷网五月天天综合天天爱 | 日日操夜夜操狠狠操 | 亚洲夜夜操| 男生女生靠逼视频 | 亚洲一区二区中文 | 国产一级毛片午夜 | aaaaa国产毛片 | 亚洲一区在线视频 | 天天做日日干 | 夜夜夜操 | 日韩精品视频免费在线观看 | 亚洲狠狠婷婷综合久久久久图片 | 你懂的福利 | 丁香婷婷啪啪 | 色婷婷亚洲综合五月 | 二区三区在线观看 | 羞羞爱爱 | 精品亚洲欧美无人区乱码 | 欧美三级不卡在线观线看高清 | 免费观看在线观看 | 特黄一级视频 | 丁香婷婷六月天 | 色播五月激情五月 | 国产大片免费观看资源 | 日本高清视频wwww色 | 精品国产污污免费网站入口 | 日本黄色一级大片 | 国产重口老太和小伙乱视频 | 网女色| 天天插综合 |