久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Ubuntu下查看串口設(shè)備

Ubuntu下查看串口設(shè)備

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-22 17:16:22 1700644582

一、安裝串口驅(qū)動程序

在Ubuntu系統(tǒng)里,默認情況下是不帶有串口驅(qū)動程序的,需要手動安裝。以FTDI USB轉(zhuǎn)串口為例:


sudo apt-get install git
sudo git clone https://github.com/juliagoda/ftdi_sio.git
cd ftdi_sio
make
sudo make install
sudo modprobe ftdi_sio

安裝之后可以通過如下命令來查看是否安裝成功:


lsmod |grep ftdi_sio

如果出現(xiàn)ftdi_sio這一項,即表示安裝成功。

二、查看串口設(shè)備

在Ubuntu下查看串口設(shè)備的過程中,可以使用ls -l /dev/serial/by-id命令,也可以使用dmesg | grep tty命令。

三、設(shè)置串口參數(shù)

在Ubuntu下,可以使用stty命令設(shè)置串口的參數(shù),例如波特率、數(shù)據(jù)位、校驗位、停止位等等。如下:


sudo stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parity -icanon -echo

其中,-F表示指定串口設(shè)備文件,115200表示波特率,cs8表示數(shù)據(jù)位為8位,-cstopb表示停止位為1位,-parity表示校驗位為無,-icanon表示模擬輸入行編輯模式,-echo表示輸出回顯。

四、讀寫串口數(shù)據(jù)

在Ubuntu下,可以使用串口調(diào)試助手minicom等工具來進行串口的讀寫操作。也可以通過編寫C語言程序,使用串口通信庫來進行讀寫操作。

以下是一個簡單的C語言程序,通過串口發(fā)送和接收數(shù)據(jù):


#include 
#include 
#include 
#include 
#include 

int main()
{
    int fd = -1;
    char buffer[100] = {0};

    fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);
    if(fd < 0)
    {
        perror("open error");
        return -1;
    }

    struct termios options;
    tcgetattr(fd, &options);
    cfsetispeed(&options, B115200);
    cfsetospeed(&options, B115200);
    options.c_cflag |= (CLOCAL | CREAD);
    options.c_cflag &= ~PARENB;
    options.c_cflag &= ~CSTOPB;
    options.c_cflag &= ~CSIZE;
    options.c_cflag |= CS8;
    options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);

    tcsetattr(fd, TCSANOW, &options);

    char message[] = "hello world\n";
    write(fd, message, strlen(message));

    int count = read(fd, buffer, sizeof(buffer));
    if(count > 0)
    {
        printf("receive data: %s", buffer);
    }

    close(fd);

    return 0;
}

該程序使用了open、tcgetattr、cfsetispeed、cfsetospeed、tcsetattrwrite、readclose等串口通信庫函數(shù)。

五、總結(jié)

本文主要介紹了在Ubuntu下如何查看串口設(shè)備、安裝串口驅(qū)動程序、設(shè)置串口參數(shù)、讀寫串口數(shù)據(jù)等操作。通過本文的介紹,相信讀者已經(jīng)對Ubuntu下的串口通信有了更深入的了解。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT