欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    rduino UNO R3到底有幾個串口呢?

    如果觀察板子引腳發現,只有一對串口,但是我們燒錄程序時使用的也是通過串口傳輸的,這么說來Arduino應該是有兩個串口的,為了搞明白這個問題,我特意去Arduino官網查了一下關于Arduino的原理圖。

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

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

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

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

    軟串口

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

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

    下面我們用軟串口做一組小實驗,經過串口1向Arduino發送數據,Arduino接收到數據之后,再把數據轉送到串口2,并讓其在電腦上打印出來。

    程序

    上述小實驗的程序如下圖,我們發現這個程序與我們平時所見到的程序所不同的是,第一行多了一句:#include <SoftwareSerial.h>的語句,我們所使用的軟串口全靠的這一語句。它的作用是將其它數字、模擬引腳通過程序模擬成串口通信引腳。

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

    再下面的程序的作用是設定波特率,然后把串口1的數據發給串口2,或者把串口2的數據發給串口1

    #include <SoftwareSerial.h>

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

    }

    實驗現象

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

    USB串口發送字符串“123”。

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

    Final

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

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

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

    外 觀

    概 述

    • 這個模塊是為了做ROBOT而選擇的東東。當然,如果你有更好的想法,比如用于無線防盜報警器、遠程遙控、數據交換、手持終端PDA、無線耳機、數字視頻、無線鼠標、無線鍵盤以及其他短距離高速無線應用等,他也能夠完全勝任。我們做ROBOT的想法是:把大部分功能集成化,從而解放主CPU。
    • APC220模塊是高度集成半雙工微功率無線數據傳輸模塊,其嵌入高速單片機和高性能射頻芯片。
    • 創新的采用高效的循環交織糾檢錯編碼,抗干擾和靈敏度都大大提高,最大可以糾24bits連續突發錯誤,達到業內的領先水平。
    • APC220模塊提供了多個頻道的選擇,能夠透明傳輸任何大小的數據,而用戶無須編寫復雜的設置與傳輸程序,并提供UART/TTL接口。
    • 同時小體積,寬電壓運行,較遠傳輸距離,豐富便捷的軟件編程設置功能,使APC220模塊能夠應用與非常廣泛的領域。

    性能描述

    基本參數

    • 電源 3.3 – 5.5V (±50mV 紋波)
    • 發射電流 ≦35mA@10mW
    • 接收電流 ≦30mA
    • 休眠電流 ≦5uA
    • 傳輸距離 1000米傳輸距離 (開闊地可視距離)
    • 工作濕度 10%~90%(無冷凝)
    • 工作溫度 -20℃ – 70℃
    • 尺寸 37mm x 17mm x 6.5mm

    性能參數

    • 工作頻率 420MHz to 450MHz (1KHz步進)
    • 調制方式 GFSK
    • 頻率間隔 200KHz
    • 發射功率 20mw (10級可調)
    • 接收靈敏度 -117dBm@1200bps
    • 空中傳輸速率 1200 – 19200bps
    • 接口速率 1200 – 57600bps
    • 接口效驗方式 8E1/8N1/8O1
    • 接口緩沖空間 512bytes

    引腳定義

    標號定義說明1GNDGND2VCC3.3V-5V3EN電源使能端,≥1.6V或懸空使能,≤0.5V休眠4RXDURAT輸入口,TTL電平5TXDURAT輸出口,TTL電平6AUXURAT信號,接收為低,發送為高7SET設置參數,低有效

    設備互聯方式

    UART/TTL 電平

    RS485/RS232 電平

    USB/TTL 電平

    USB/USB

    教程

    本教程將引導您學習 如何實現電腦和 Arduino 的無線通訊。在實驗結束時,您可以在電腦上收到從 Arduino發送的“Hello!”。

    硬件

    • APC220 模塊 x2
    • USB 轉串口 x1
    • Arduino 控制板 x1
    • USB 線A-B for Arduino x1

    軟件

    • RF-magic 點擊下載 RF-Magic.
    • Arduino IDE 1.0.6 點擊下載 Arduino IDE
    • 串口助手: 點擊下載 Serial debugging assistant
    注意:
    本實驗中我們的 Arduino 控制板用的是 Romeo(Leonardo)。在代碼中它使用 Serial1 而不是 Serial。如果您使用其他類型的控制板,例如: Uno, Mega, Bluno 等等。請將 Serial1.println() 修改為 Serial.println(),否則您將無法下載代碼。
    Arduino IDE 1.6.* 由于軟件問題,不能正常顯示/收發數據。
    

    模塊配置

    1 將天線旋緊在 APC220上,將其插在 USB轉串口 上,最后再查到你的電腦上。

    2 下載并安裝 USB轉串口 的驅動。前往 Silicon Labs 下載相應驅動

    3 打開設備管理器,找到您的 USB轉串口 的串口號,這里是 COM8。

    4 用管理員身份雙擊打開應用 APC22X_V12A.exe (即:RF-magic ) Windows XP可以直接打開。 閱讀:【英文】如何避免每次都需要管理員身份打開?

    注意:打開軟件后,軟件將自動打開串口,并有提示。如果提示打開串口失敗,請用 管理員身份打開 或者 從設備管理器中將默認的串口號改為較小的串口號,如:“COM1”。
    

    5 按照下圖中紅色標注里的參數配置(默認值),點擊 寫入 Write W

    Configuration

    Write and Read setting

    設置選項默認參數收發頻率(RF frequency)420MHz-450MHz(分辨率1KHz,精度±100Hz)434MHz空中速率(RF TRx Rate)1200,2400,4800,9600,19200bps9600bps輸出功率(RF Power)0-99串口速率(Series Rate)1200,2400,4800,9600,19200,38400,57600bps9600bps網絡地址碼(NET ID)0-65535(16位)12345節點地址碼(NODE ID)123456789012串口效驗(Series Patity)Disable,Odd Patity,Even PatityDisable6 對另外一塊 APC220進行相同的配置。

    通信測試

    6 對另外一塊 APC220進行相同的配置。

    通信測試

    1 將一塊插在電腦上,另一塊插到 Arduino上(如果沒有 相應的接口,可以單獨按照管腳說明接線)。

    One on computer to receive “Hello”

    Another on computer to send “Hello”

    2 上傳程序。

    注意:請將 Serial1修改為 Serial如果您的 Arduino控制板是 Uno, Bluno, Mega 或其他使用串口0的設備。

    //The sketch is tested on: Romeo v2 (Leonardo)
    void setup() 
    {
     Serial1.begin(9600); //Set serial baud rate to 9600
    } 
    void loop()
    {
     Serial1.println("Hello!"); //print out hello string 
     delay(1000); //1 second delay
    }
    

    3 用串口助手或 Arduino串口監視窗打開COM8,您將看到“Hello!” 每隔一秒打印在電腦的窗口上。 (注意:Arduino IDE 1.6.5 不能正常顯示)

    Arduino serial monitor on COM8( IDE 1.0.6)

    Serial Assistant on COM8

    疑難解答

    • Q 1. 設備之間不能正常通訊,是什么原因?
    A: 
    1.兩端的通訊協議不一致,如:波特率,校驗不一致。
    2.兩端的頻點,空中波特率不一致。
    3.不是同一系列產品。
    4.電源連接不正常。
    5、模塊已損壞。
    6.模塊EN腳設置錯誤
    7.通訊距離超過范圍,或天線接觸不良。
    
    • Q 2. 傳輸距離很近,根本沒有所謂的1km?
    A:
    1.電壓超過范圍。
    2.電源紋波過大。
    3.天線接觸不良或天線類型不對。
    4.天線過與靠近金屬表面或模塊接地面積太小。
    5.接收環境惡劣,如建筑物密集,有強干擾源。
    6.有同頻干擾。
    
    • Q 3. 使用注意事項:
網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有