日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Arduino串口不够用怎么办?

發(fā)布時(shí)間:2024/8/26 综合教程 56 生活家
生活随笔 收集整理的這篇文章主要介紹了 Arduino串口不够用怎么办? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Arduino UNO R3到底有幾個(gè)串口呢?

如果觀察板子引腳發(fā)現(xiàn),只有一對串口,但是我們燒錄程序時(shí)使用的也是通過串口傳輸?shù)模@么說來Arduino應(yīng)該是有兩個(gè)串口的,為了搞明白這個(gè)問題,我特意去Arduino官網(wǎng)查了一下關(guān)于Arduino的原理圖。

原理圖如下所示,通過原理圖我們知道,單片機(jī)只有一對串口,但是最后分兩路出去,一路連在了板子上的排針上;

另外一路通過兩個(gè)發(fā)光二極管連在了一個(gè)叫做atmega的芯片上,程序通過這個(gè)芯片給單片機(jī)燒錄程序。

原理圖如下所示,通過原理圖我們知道,單片機(jī)只有一對串口,但是最后分兩路出去,一路連在了板子上的排針上;

另外一路通過兩個(gè)發(fā)光二極管連在了一個(gè)叫做atmega的芯片上,程序通過這個(gè)芯片給單片機(jī)燒錄程序。

軟串口

但是我們要使用兩個(gè)串口怎么辦呢?不用擔(dān)心,Arduino早已為我們謀劃好了一切,我們把上面Arduino板上標(biāo)注的串口叫做硬串口。

除了硬串口之外,Arduino還為我們設(shè)計(jì)了一種軟串口,也可以叫做虛擬串口,他是通過程序定義的一組串口,然后映射到Arduino的IO口,這樣我們就可以額外的多出一組串口。

下面我們用軟串口做一組小實(shí)驗(yàn),經(jīng)過串口1向Arduino發(fā)送數(shù)據(jù),Arduino接收到數(shù)據(jù)之后,再把數(shù)據(jù)轉(zhuǎn)送到串口2,并讓其在電腦上打印出來。

程序

上述小實(shí)驗(yàn)的程序如下圖,我們發(fā)現(xiàn)這個(gè)程序與我們平時(shí)所見到的程序所不同的是,第一行多了一句:#include 的語句,我們所使用的軟串口全靠的這一語句。它的作用是將其它數(shù)字、模擬引腳通過程序模擬成串口通信引腳。

SoftwareSerial mySerial(8, 9);的意思是把8引腳定義為RX口,TX定義為TX口。

再下面的程序的作用是設(shè)定波特率,然后把串口1的數(shù)據(jù)發(fā)給串口2,或者把串口2的數(shù)據(jù)發(fā)給串口1

#include

SoftwareSerial mySerial(8, 9); // RX, TX

void setup()

{

Serial.begin(115200);

mySerial.begin(9600);

}

void loop()

{

if (mySerial.available())

Serial.write(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

}

實(shí)驗(yàn)現(xiàn)象

我們通過電腦的USB串口向Arduino發(fā)送“123”,然后再讓Arduino把收到的數(shù)據(jù)原封不動的發(fā)往我們的虛擬串口,并打印在屏幕上。

USB串口發(fā)送字符串“123”。

虛擬串口接收到了字符串“123”

Final

有人會說,一個(gè)串口就夠用了,何必如此麻煩,然而實(shí)際的情況并非如此,比如說我們要用8266WiFi模塊,如果把唯一一個(gè)寶貴的串口資源給了8266。

那程序不出問題還好,一旦有錯(cuò),如果不再虛擬出來一對串口,我們都不知道哪里出了問題,所以軟串口是我們開發(fā)者必須要掌握的。

芯板坊為您提供最全面國內(nèi)外開發(fā)板資訊、評測、試用信息,包括現(xiàn)今的熱門開發(fā)板,如樹莓派,Arduino,STM32,OrangePi,Nanop pi,開源硬件等,感興趣的電子發(fā)燒友們,可以來免費(fèi)申請開發(fā)板。

總結(jié)

以上是生活随笔為你收集整理的Arduino串口不够用怎么办?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。