亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

基于MicroROS學(xué)習(xí)板的串口通信接收實驗

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-03 10:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你好,我是愛吃魚香ROS的小魚。上一節(jié)我們完成了第一個Hello World工程,學(xué)習(xí)使用了串口模塊的初始化和發(fā)送,本節(jié)我們再來一個串口接收小實驗,把串口收發(fā)數(shù)據(jù)補(bǔ)齊。

本教程所使用硬件平臺為MicroROS學(xué)習(xí)板V1.0.0,可點(diǎn)擊閱讀原文購買及查看詳情

圖片

一、檢測并接收單個字符

1.1 代碼編寫

/**
 * @file demo01_read_byte.cpp
 * @author fishros@foxmail.com
 * @brief 初始化串口,當(dāng)有數(shù)據(jù)過來的時候讀取并將數(shù)據(jù)打印出來
 * @version 0.1
 * @date 2022-12-18
 * 
 * @copyright Copyright (c) 2022
 * 
 */
#include < Arduino.h >


void setup()
{
    // 初始化串口
    Serial.begin(115200);
}


void loop()
{
    // 判斷是否有有效數(shù)據(jù),返回值是有效數(shù)據(jù)的長度
    if (Serial.available())
    {
        // 讀取一個數(shù)據(jù)
        int c = Serial.read();
        // -1 代表接收失敗
        if (c != -1)
        {
            // 以%c字符的格式輸出接收的數(shù)據(jù)
            Serial.printf("I receve %c\\n", c);
        }
    }
}

這里多用了一個函數(shù)Serial.available(),該函數(shù)代表當(dāng)前串口中緩存有效數(shù)據(jù)的長度。

1.2 使用串口監(jiān)視器發(fā)送消息

使用快捷鍵,編譯 Ctrl+Alt+B、上傳 Ctrl+Alt+U,接著準(zhǔn)備發(fā)送數(shù)據(jù)

因為要發(fā)送消息,這里我們換一個收發(fā)分離的串口監(jiān)視器來進(jìn)行數(shù)據(jù)發(fā)送

使用Ctrl+Alt+~打開終端,接著在終端中你可以看到串口監(jiān)視器一欄

圖片

接著打開我們板子對應(yīng)的串口設(shè)備

?選擇串口編號

?設(shè)置波特率

?點(diǎn)擊開始監(jiān)視

圖片

發(fā)送測試

?輸入數(shù)據(jù)

?點(diǎn)擊發(fā)送

?查看返回

圖片

嘗試發(fā)送12

圖片

可以看到收到了兩條返回,這是因為我們每次只接收一個數(shù)據(jù),所以即使發(fā)送12,接收數(shù)據(jù)也是一個一個接收和打印的。

那有沒有辦法一次性接收多個數(shù)據(jù)呢?我們換個函數(shù)即可。

二、一次性接收一串?dāng)?shù)據(jù)

2.1 代碼編寫

/**
 * @file demo01_read_byte.cpp
 * @author fishros@foxmail.com
 * @brief 初始化串口,當(dāng)有數(shù)據(jù)過來的時候讀取并將數(shù)據(jù)打印出來
 * @version 0.1
 * @date 2022-12-18
 *
 * @copyright Copyright (c) 2022
 *
 */
#include < Arduino.h >


void setup()
{
    // 初始化串口
    Serial.begin(115200);
}


void loop()
{
    // 判斷是否有有效數(shù)據(jù)
    if (Serial.available())
    {
        // 讀取一個String字符串?dāng)?shù)據(jù)
        String str = Serial.readString();
        // 以%s的格式輸出接收的數(shù)據(jù)
        Serial.printf("I receve %s\\n", str.c_str());
    }
}

2.2 編譯下載

點(diǎn)擊按鈕或者使用快捷鍵編譯下載代碼。

如果你在下載代碼時遇到下面的錯誤,是因為剛剛的串口監(jiān)視器沒有關(guān)閉,

Auto-detected: /dev/ttyUSB0
Uploading .pio/build/featheresp32/firmware.bin
esptool.py v4.2.1
Serial port /dev/ttyUSB0
Connecting...........
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
*** [upload] Error 1

點(diǎn)擊停止監(jiān)視后,繼續(xù)下載即可

圖片

2.3 測試

下載完成后,重新打開串口,接著發(fā)送一串消息

圖片

三、總結(jié)

本節(jié)我們通過兩個串口接收數(shù)據(jù)小實驗,學(xué)習(xí)了串口數(shù)據(jù)的接收和發(fā)送。 下一節(jié)我們開始學(xué)習(xí)如何完成點(diǎn)燈。

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

    關(guān)注

    34

    文章

    1655

    瀏覽量

    57506
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4928

    瀏覽量

    72758
  • 學(xué)習(xí)板
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    12520
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    290

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    stm32L152RCDISCOVER進(jìn)行串口通信實驗接收亂碼怎么解決?

    使用stm32L152RCDISCOVER開發(fā)進(jìn)行串口通信實驗為什么接收亂碼
    發(fā)表于 03-11 07:56

    串口通信實驗分享

    實驗四、串口通信實驗? 自律學(xué)習(xí)堅強(qiáng) ,拒絕迷茫。作者:行走的皮卡丘時間:2021/4/4喜歡就去追,這個紅燈等不到,說不定下一個紅燈等到了,嘻嘻?。。。。。?!文章目錄
    發(fā)表于 01-14 09:08

    HL配套C實驗例程單片機(jī)串口接收數(shù)據(jù)

    HL配套C實驗例程單片機(jī)串口接收數(shù)據(jù),配合開發(fā)學(xué)習(xí)效果更好。
    發(fā)表于 04-11 17:04 ?1次下載

    ARM基礎(chǔ)應(yīng)用實驗_串口通信

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計實例精講--ARM基礎(chǔ)應(yīng)用實驗01串口通信
    發(fā)表于 07-08 11:08 ?0次下載

    ARM基礎(chǔ)應(yīng)用實驗_串口通信.rar

    電子專業(yè)單片機(jī)相關(guān)知識學(xué)習(xí)教材資料——ARM基礎(chǔ)應(yīng)用實驗01串口通信
    發(fā)表于 09-13 17:23 ?0次下載

    上位機(jī)串口通信數(shù)據(jù)接收事件程序

    上位機(jī) 串口 通信主要介紹通信串口的初始化和串口緩沖區(qū)數(shù)據(jù)的讀取,因為此處只是作為指令來讀取,數(shù)據(jù)量小,所以緩沖區(qū)數(shù)據(jù)的讀取為有數(shù)據(jù)
    發(fā)表于 03-13 15:08 ?4142次閱讀
    上位機(jī)<b class='flag-5'>串口</b><b class='flag-5'>通信</b>數(shù)據(jù)<b class='flag-5'>接收</b>事件程序

    串口通信與串行通信的區(qū)別和寄存器及通信實驗等詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是串口通信學(xué)習(xí)課件免費(fèi)下載包括了:1、串口通信與串行通信的區(qū)別,2、
    發(fā)表于 12-17 17:08 ?11次下載
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>與串行<b class='flag-5'>通信</b>的區(qū)別和寄存器及<b class='flag-5'>通信實驗</b>等詳細(xì)資料說明

    基礎(chǔ)實驗13-USART串口接收實驗

    基礎(chǔ)實驗13-USART串口接收實驗實驗目的:掌握定時器USART接收字符串的方法。
    發(fā)表于 12-14 18:53 ?1次下載
    基礎(chǔ)<b class='flag-5'>實驗</b>13-USART<b class='flag-5'>串口</b><b class='flag-5'>接收</b><b class='flag-5'>實驗</b>

    16 . USART 串口通信實驗

    USART 串口通信實驗我們知道STM32F1 內(nèi)部含有非常多的通信接口,我們就來學(xué)習(xí)下USART 串口
    發(fā)表于 12-20 19:22 ?20次下載
    16 . USART <b class='flag-5'>串口</b><b class='flag-5'>通信實驗</b>

    STM32 串口通信實驗

    stm32串口通信實驗UART通信實驗(通用異步收發(fā)器)UART串口通信原理:UART的通信過程
    發(fā)表于 12-20 19:26 ?15次下載
    STM32 <b class='flag-5'>串口</b><b class='flag-5'>通信實驗</b>

    ESP32學(xué)習(xí)記錄<三>串口通信

    ESP32學(xué)習(xí)記錄串口通信文章目錄ESP32學(xué)習(xí)記錄串口通信前言一、通過
    發(fā)表于 12-20 19:34 ?17次下載
    ESP32<b class='flag-5'>學(xué)習(xí)</b>記錄<三><b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    關(guān)于使用stm32核心進(jìn)行USART串口通信實驗

    目錄一、關(guān)于串口通信1.串口通信2.USART二、USART串口通信程序1.準(zhǔn)備工作2.
    發(fā)表于 12-24 19:00 ?0次下載
    關(guān)于使用stm32核心<b class='flag-5'>板</b>進(jìn)行USART<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的<b class='flag-5'>實驗</b>

    實驗四、串口通信實驗

    實驗四、串口通信實驗? 自律 學(xué)
    發(fā)表于 01-14 10:09 ?2次下載
    <b class='flag-5'>實驗</b>四、<b class='flag-5'>串口</b><b class='flag-5'>通信實驗</b>

    串口通信實驗資料分享

    串口通信實驗資料分享
    發(fā)表于 06-29 15:03 ?5次下載

    stc32G12k128使用舊清翔51實驗學(xué)習(xí)UART通信實驗

    stc32G12k128使用舊清翔51實驗學(xué)習(xí)UART通信實驗程序,利用舊版,學(xué)習(xí)32位單片機(jī)的串口
    發(fā)表于 11-21 10:21 ?3次下載