全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Ubuntu下查看串口设备

发布时间:2023-11-22 17:16:22
发布人:xqq

一、安装串口驱动程序

在Ubuntu系统里,默认情况下是不带有串口驱动程序的,需要手动安装。以FTDI USB转串口为例:


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

如果出现ftdi_sio这一项,即表示安装成功。

二、查看串口设备

在Ubuntu下查看串口设备的过程中,可以使用ls -l /dev/serial/by-id命令,也可以使用dmesg | grep tty命令。

三、设置串口参数

在Ubuntu下,可以使用stty命令设置串口的参数,例如波特率、数据位、校验位、停止位等等。如下:


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

其中,-F表示指定串口设备文件,115200表示波特率,cs8表示数据位为8位,-cstopb表示停止位为1位,-parity表示校验位为无,-icanon表示模拟输入行编辑模式,-echo表示输出回显。

四、读写串口数据

在Ubuntu下,可以使用串口调试助手minicom等工具来进行串口的读写操作。也可以通过编写C语言程序,使用串口通信库来进行读写操作。

以下是一个简单的C语言程序,通过串口发送和接收数据:


#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;
}

该程序使用了opentcgetattrcfsetispeedcfsetospeedtcsetattrwritereadclose等串口通信库函数。

五、总结

本文主要介绍了在Ubuntu下如何查看串口设备、安装串口驱动程序、设置串口参数、读写串口数据等操作。通过本文的介绍,相信读者已经对Ubuntu下的串口通信有了更深入的了解。

vue国际化解决方案

相关文章

c#decimal全面解析

c#decimal全面解析

2023-11-22
如何在CSS中实现圆角边框

如何在CSS中实现圆角边框

2023-11-22
shell脚本 中括号,linux脚本大括号

shell脚本 中括号,linux脚本大括号

2023-11-22
unitytask详细阐述

unitytask详细阐述

2023-11-22

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取