chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于RK3576開發(fā)板的UART使用說明

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-05-07 09:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. Uart介紹

1.1 串口資源介紹

EASY EAI Orin-Nano開發(fā)板的串口資源被劃分為兩類。一類是已被特定功能所占用的【不可用串口】,另外一個類可由用戶自由使用的【可用串口】。

【不可直接使用的串口】分布情況如下所示。

串口號 設(shè)備節(jié)點 描述
串口0 /dev/ttyFIQ0 調(diào)試串口占用,不作為普通串口使用
串口1~3 串口所關(guān)聯(lián)的引腳,已被復(fù)用成其他功能
串口5~7 串口所關(guān)聯(lián)的引腳,已被復(fù)用成其他功能
串口9 串口所關(guān)聯(lián)的引腳,已被復(fù)用成其他功能
串口11 串口所關(guān)聯(lián)的引腳,已被復(fù)用成其他功能

硬件分布情況如下所示。

wKgZPGgavr-Adn-3AAlWAS9ilgU255.png

【可用串口】分布情況如下所示。

串口號 設(shè)備節(jié)點 描述
串口4 /dev/ttyS4 TTL電平。
串口8 /dev/ttyS8 TTL電平。
串口10 /dev/ttyS10 TTL電平。

硬件分布情況如下所示。

wKgZO2gavr-AIU6JABSKbEN7uLs747.jpg

1.2 硬件接線

wKgZPGgavsCAErX-AADdNgPRzl4529.png

常規(guī)接線,設(shè)備與設(shè)備進(jìn)行通信

wKgZO2gavsCALFE6AALSnvyoSqM696.png

本單例測試接線,利用跳線帽把Rxd引腳與Txd引腳短接,進(jìn)行自發(fā)自收。

wKgZPGgavsCAe0f1AAAVjDK6NzU600.png

2. 快速上手

2.1 例程源碼下載

到【百度網(wǎng)盤】上下載相關(guān)的單例程序:

鏈接:https://pan.baidu.com/s/1RXHMGpmGSEfFy0rb1VkXSg?pwd=1234

提取碼: 1234

比如在windows環(huán)境中,就把單例程序下載到:此電腦D:BaiduNetdisk (無規(guī)定,用戶可自主選擇),如下圖所示。

wKgZO2gavsGAUof0AACzhmeQ3po782.png

然后把例程【復(fù)制粘貼】到nfs掛載目錄中。(不清楚目錄如何構(gòu)建的,可以參考《入門指南/開發(fā)環(huán)境準(zhǔn)備/nfs服務(wù)搭建與掛載》)

wKgZPGgavsGAIniMAADwWl9gvDM747.png

2.2 例程編譯&運行

通過adb shell進(jìn)入開發(fā)板環(huán)境(不清楚如何通過adb進(jìn)行調(diào)試,可以參考《入門指南/開發(fā)板調(diào)試方式介紹/adb調(diào)試》),執(zhí)行下方命令定位到demo目錄,并且執(zhí)行編譯操作。

cd /home/orin-nano/Desktop/nfs/06_Uart/
./build.sh
wKgZO2gavsGAK9IzAAGhxNw928o853.png

編譯成功后,相關(guān)的demo會生成2個可執(zhí)行程序在Release目錄下。它們分別是發(fā)送端demo:test-Send,接收端demo:test-Recv。

先執(zhí)行下方命令以運行接收端demo,如下所示。

sudo ./Release/test-Recv /dev/ttyS10

執(zhí)行效果如下所示,此時接收端會等待發(fā)送端發(fā)來數(shù)據(jù)。

wKgZPGgavsGAA-a6AAAqfLF93SQ796.png

再用【Ctrl+Shift+T】打開新終端,然后進(jìn)入adbshell,定位到demo目錄,如何所示:

wKgZO2gavsGAPQNEAAAoQroEPRo918.png

最后執(zhí)行下方命令以運行發(fā)送端demo,如下所示。

sudo ./Release/test-Send /dev/ttyS10
wKgZPGgavsKAQLpyAACkmUe63O8872.png

此時切換回來剛才的終端,就會發(fā)現(xiàn)接收端demo已經(jīng)收到了發(fā)送端demo發(fā)過來的數(shù)據(jù)了。

wKgZO2gavsKAGCfoAAClZ1veJIQ364.png

3. C語言使用案例

串口的C語言使用案例,接收端代碼地址為06_UART/test-uart/Recv.c,供用戶編碼參考。以下代碼展示了對串口接收端操作流程:

int main(int argc, char **argv)
{
    if(2 != argc){
        printf("Usage:n");
        printf("    sudo %s %sn", argv[0], "/dev/ttyS");
        return -1;
    }

    int fd = UART_Open(argv[1]);
    if(fd < 0){
        printf("33[33m【Open ERROR!】%sn", DEBUG_COLOR_TAIL);
        return -1;
    }
    
    if(false == UART_Set(fd, 115200, 0, 8, 1, 'N')){
        printf("33[33m【Init ERROR!】%sn", DEBUG_COLOR_TAIL);
        return -1;
    }
    
    const char *strReceiver = "I am uart Receiver";
    printf("33[36m【Init OK "%s"】%sn", strReceiver, DEBUG_COLOR_TAIL);

    char recvBuf[128]={0};
    while(1){
        if(UART_Recv(fd, recvBuf, sizeof(recvBuf)) <= 0){
            continue;
        }else{
            printf("33[36m【Recv Msg from Sender】:%s",   DEBUG_COLOR_TAIL);
            printf("    %sn", recvBuf);
            break;
        }
    }
    UART_Close(fd);
    
    printf("33[42m【Recv date OK. BYE BYE!】%sn", DEBUG_COLOR_TAIL);
    
	return 0;
}

發(fā)送端代碼地址為06_UART/test-uart/Send.c,供用戶編碼參考。以下代碼展示了對串口發(fā)送端操作流程:

int main(int argc, char **argv)
{
    if(2 != argc){
        printf("Usage:n");
        printf("    sudo %s %sn", argv[0], "/dev/ttyACM");
        return -1;
    }

    int fd = UART_Open(argv[1]);
    if(fd < 0){
        printf("33[33m【Open ERROR!】%sn", DEBUG_COLOR_TAIL);
        return -1;
    }
    
    if(false == UART_Set(fd, 115200, 0, 8, 1, 'N')){
        printf("33[33m【Init ERROR!】%sn", DEBUG_COLOR_TAIL);
        return -1;
    }
    
    char *strSender = "I am uart Sender";
    printf("33[36m【Init OK "%s"】%sn", strSender, DEBUG_COLOR_TAIL);
    
    int len = UART_Send(fd, strSender, strlen(strSender));
    if(len <= 0){
        printf("33[41m【Send data ERROR!】%sn", DEBUG_COLOR_TAIL);
        return -1;
    }
    UART_Close(fd);
    
    printf("33[42m【Send date OK. BYE BYE!】%sn", DEBUG_COLOR_TAIL);
    
	return 0;
}

其中UART_Open(),UART_Set(),UART_Send(),UART_Recv()是對系統(tǒng)調(diào)用的易用化封裝。具體實現(xiàn)于06_UART/commonApi/uart.c

審核編輯 黃宇

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

    關(guān)注

    22

    文章

    1284

    瀏覽量

    105466
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5983

    瀏覽量

    109868
  • rk3576
    +關(guān)注

    關(guān)注

    1

    文章

    209

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于RK3576開發(fā)板的WDT看門狗使用說明

    RK3576開發(fā)板的WDT使用說明
    的頭像 發(fā)表于 05-06 17:15 ?886次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的WDT看門狗<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的PCIE固態(tài)硬盤使用說明

    RK3576開發(fā)板的PICE固態(tài)硬盤使用方法
    的頭像 發(fā)表于 05-06 17:33 ?1638次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的PCIE固態(tài)硬盤<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的TF卡槽使用說明

    RK3576開發(fā)板使用TF卡槽
    的頭像 發(fā)表于 05-07 09:24 ?1261次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的TF卡槽<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的PWN使用說明

    RK3576開發(fā)板使用PWN教程及Demo
    的頭像 發(fā)表于 05-07 14:07 ?1671次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的PWN<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的RTC使用說明

    文章主要展示RK3576開發(fā)板的RTC信息和快速上手例程
    的頭像 發(fā)表于 05-07 15:04 ?1425次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的RTC<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的人臉識別算法

    RK3576開發(fā)板展示人臉識別算法例程和API說明
    的頭像 發(fā)表于 05-07 16:48 ?2283次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的人臉識別算法

    【作品合集】米爾RK3576開發(fā)板測評

    米爾RK3576開發(fā)板測評作品合集 產(chǎn)品介紹: RK3576 是瑞芯微一款面向AI市場推出的高性能處理器,它配備了四核Cortex-A72和四 核Cortex-A53 的 CPU,集成了6TOPS
    發(fā)表于 09-11 10:19

    米爾RK3576開發(fā)板特惠活動!

    近日,米爾電子發(fā)布基于瑞芯微RK3576核心開發(fā)板RK3576作為國產(chǎn)熱門處理器,其高性能數(shù)據(jù)處理能力、領(lǐng)先的AI智能分析、強大的擴展性與兼容性受到廣大
    的頭像 發(fā)表于 11-12 01:00 ?1693次閱讀
    米爾<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>特惠活動!

    敬請期待 | 迅為RK3576開發(fā)板即將發(fā)布

    敬請期待 | 迅為RK3576開發(fā)板即將發(fā)布
    的頭像 發(fā)表于 11-22 15:13 ?828次閱讀
    敬請期待 | 迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>即將發(fā)布

    迅為RK3576開發(fā)板核心與底板接口硬件介紹

    迅為RK3576開發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?2005次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口硬件介紹

    迅為RK3576開發(fā)板Android?多屏顯示

    迅為RK3576開發(fā)板Android?多屏顯示
    的頭像 發(fā)表于 01-16 16:58 ?1400次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>Android?多屏顯示

    基于RK3576開發(fā)板的MIPI-DSI使用

    MIPI DSI接口是由MIPI聯(lián)盟下的Display工作組指定的DSI(Display Serial Interface)的接口標(biāo)準(zhǔn)。rk3576開發(fā)板使用mipi-dsi教程
    的頭像 發(fā)表于 05-06 16:11 ?734次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的MIPI-DSI使用

    基于RK3576開發(fā)板的揚聲器和耳機使用說明

    RK3576開發(fā)板的揚聲器和耳機使用說明
    的頭像 發(fā)表于 05-06 16:36 ?1207次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的揚聲器和耳機<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的HDMI-OUT使用說明

    RK3576開發(fā)板的HDMI-OUT使用說明
    的頭像 發(fā)表于 05-06 16:48 ?942次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的HDMI-OUT<b class='flag-5'>使用說明</b>

    基于RK3576開發(fā)板的人員檢測算法

    展示了RK3576開發(fā)板的人員檢測算法例程及API說明
    的頭像 發(fā)表于 05-07 17:33 ?501次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的人員檢測算法