91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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串行連接是否打開。對(duì)于所有其他實(shí)例,包括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串行連接時(shí),這將返回false。

示例:

void setup(){

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

Serial.begin(9600);

while(!Serial){

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

}

}

void loop(){

//正常進(jìn)行

}

步驟2:命令:Available()

描述

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

語法

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ù)時(shí)才發(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ù)速率,以每秒比特?cái)?shù)(波特)為單位數(shù)據(jù)傳輸。要與計(jì)算機(jī)通信,請(qǐng)使用以下費(fèi)率之一:300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600或115200。但是,您可以指定其他費(fèi)率-例如,通過引腳0和1與需要特定波特率的組件進(jìn)行通信。

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

語法

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

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

參數(shù)

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

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(){

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

}

void loop(){}

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

,點(diǎn)擊 的描述

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

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

語法

Serial.find(target)

步驟6:命令:Peek()

描述

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

語法

Serial.peek( )

僅Arduino Mega:

Serial1.peek()

Serial2.peek()

Serial3.peek()

步驟7:命令:Print()

描述

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

Serial.print(78)給出“ 78” Serial.print(1.23456)給出“ 1.23” Serial.print(‘N’)給出“ N” Serial.print(“ Hello world。 ”)給出“ Hello world”。第二個(gè)可選參數(shù)指定要使用的基本格式。允許的值為BIN(二進(jìn)制或以2為底),OCT(八進(jìn)制或以8為底),DEC(十進(jìn)制或以10為底),HEX(十六進(jìn)制或以16為底)。對(duì)于浮點(diǎn)數(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ā)送單個(gè)字節(jié),請(qǐng)使用Serial.write()。

語法

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

參數(shù)

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

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

返回

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

示例 :

/*

對(duì)數(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(“”);//打印另一個(gè)回車符

}

步驟8:命令:Println()

描述

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

語法

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

參數(shù)

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

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

返回

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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 串行
    +關(guān)注

    關(guān)注

    0

    文章

    256

    瀏覽量

    35440
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    197057
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    74AHC595:8位串行輸入/串行輸出或并行輸出移位寄存器的詳細(xì)解析

    74AHC595:8位串行輸入/串行輸出或并行輸出移位寄存器的詳細(xì)解析 在電子設(shè)計(jì)領(lǐng)域,移位寄存器是一種常用的邏輯器件,它可以實(shí)現(xiàn)數(shù)據(jù)的串行 - 并行轉(zhuǎn)換等功能。今天我們要深入探討的是SGMICRO
    的頭像 發(fā)表于 03-13 11:50 ?177次閱讀

    串行通訊與并行通訊介紹

    按數(shù)據(jù)傳送的方式,通訊可分為串行通訊與并行通訊,串行通訊是指設(shè)備之間通過少量數(shù)據(jù)信號(hào)線(一般是8根以下), 地線以及控制信號(hào)線,按數(shù)據(jù)位形式一位一位地傳輸數(shù)據(jù)的通訊方式。而并行通訊一般是指使用8
    發(fā)表于 12-11 06:52

    RapidIO標(biāo)準(zhǔn)的串行物理層實(shí)現(xiàn)

    Serial RapidIO(SRIO) 特指 RapidIO 標(biāo)準(zhǔn)的串行物理層實(shí)現(xiàn)。
    的頭像 發(fā)表于 12-09 10:41 ?528次閱讀
    RapidIO標(biāo)準(zhǔn)的<b class='flag-5'>串行</b>物理層實(shí)現(xiàn)

    Arduino plc和termux esp

    Arduino plc和termux esp
    的頭像 發(fā)表于 12-06 06:41 ?1884次閱讀

    并行與串行的基本通信方式

    1、并行通信方式:將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳輸,每位數(shù)據(jù)都需要一條傳輸線。 2、串行通信方式:串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)的傳輸,此時(shí)只需要一條數(shù)據(jù)線 3
    發(fā)表于 11-24 06:36

    可編程多協(xié)議串行接口適配器 串行接口測(cè)試與轉(zhuǎn)換 USB轉(zhuǎn)UARTI2CSPICAN1-Wire

    串行接口
    穩(wěn)控自動(dòng)化
    發(fā)布于 :2025年10月30日 11:14:27

    串行通信相關(guān)的基礎(chǔ)知識(shí)

    串行通信是電子設(shè)備中數(shù)據(jù)交換的基石。最常見的串行通信協(xié)議有UART,SPI,I2C等。
    的頭像 發(fā)表于 10-15 10:53 ?2008次閱讀
    <b class='flag-5'>串行</b>通信相關(guān)的基礎(chǔ)知識(shí)

    高通宣布收購 Arduino,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    “ ?全新 Arduino UNO Q 開發(fā)板與 Arduino App Lab 將為數(shù)百萬開發(fā)者帶來高通 Dragonwing 處理器的強(qiáng)大動(dòng)力。? ” ? 要點(diǎn)速覽: 強(qiáng)強(qiáng)聯(lián)合 :此次收購將高
    的頭像 發(fā)表于 10-08 11:15 ?746次閱讀
    高通宣布收購 <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    如何用Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄
    的頭像 發(fā)表于 08-08 20:16 ?3655次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    串行通信和并行通信的區(qū)別是什么

    串行通信和并行通信是數(shù)據(jù)傳輸?shù)膬煞N基本方式,它們?cè)跀?shù)據(jù)傳輸方式、線路設(shè)計(jì)、傳輸效率、應(yīng)用場(chǎng)景等方面存在顯著差異。以下是兩者的詳細(xì)對(duì)比: 一、數(shù)據(jù)傳輸方式 串行通信 : 逐位傳輸 :數(shù)據(jù)按位順序
    的頭像 發(fā)表于 07-22 10:55 ?2881次閱讀

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機(jī)結(jié)合實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?3次下載

    MAX9249多媒體串行鏈路串行器,帶有LVDS系統(tǒng)接口技術(shù)手冊(cè)

    MAX9249串行器帶有LVDS系統(tǒng)接口,采用Maxim吉比特多媒體串行鏈路(GMSL)技術(shù)。MAX9249串行器與GMSL解串器配合使用,構(gòu)成完整的數(shù)字串行鏈路,實(shí)現(xiàn)高速視頻、音頻和
    的頭像 發(fā)表于 05-28 16:43 ?1106次閱讀
    MAX9249多媒體<b class='flag-5'>串行</b>鏈路<b class='flag-5'>串行</b>器,帶有LVDS系統(tǒng)接口技術(shù)手冊(cè)

    免費(fèi)分享Arduino入門+進(jìn)階(全套例程+書籍)

    Arduino是一款開源電子原型平臺(tái),由硬件(單片機(jī)開發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門電子制作和編程。它的核心思想是簡(jiǎn)化硬件開發(fā),通過直觀的編程和模塊化設(shè)計(jì),讓用戶快速實(shí)現(xiàn)
    的頭像 發(fā)表于 05-22 11:40 ?1148次閱讀
    免費(fèi)分享<b class='flag-5'>Arduino</b>入門+進(jìn)階(全套例程+書籍)

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

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