精华内容
下载资源
问答
  • Linux串口调试软件serials-附件资源
  • Linux串口调试软件serials

    千次阅读 2015-09-07 20:25:15
    本人经常使用Linux,但是一直没找到一个好用的串口调试软件,虽说Linux有强大的minicom,但是本人还是喜欢用图形界面软件。而此类软件虽说很多,但有一个通病,必须在root权限下运行。如此一来,好好的一个图形界面...

    深度deepin15.11 serials 串口助手 提取码:gcq7
    本人经常使用Linux,但是一直没找到一个好用的串口调试软件,虽说Linux有强大的minicom,但是本人还是喜欢用图形界面软件。而此类软件虽说很多,但有一个通病,必须在root权限下运行。如此一来,好好的一个图形界面软件非要在终端中启动。在我看来,诸如此类都是伪图形界面,还没有完全脱离命令行。因此,就有了开发一款真正脱离命令行的串口调试软件的想法。

    我将这个软件命名为serials,serials的基本思想是:权限分离。即将需要root权限操作的代码从普通的代码中分离出来,作为一个daemon,该daemon自动以root权限运行。而另一部分则为客户端,当客户端需要进行特权操作时,向daemon发送请求,daemon将执行该操作并将结果返回给客户端。此过程类似于在本地进行了一次RPC。

    serials使用D-Bus实现了上述思想,同时UI美化借用了QTCN论坛帐号为“liudianwu”的大牛提供的css文件。serials实现了同类软件普遍可见的所有功能,一些特别的定制功能尚未实现,留待后续更新。

    此外,serials支持UTF-8编码的中文收发,加入了很多人性化的小功能,如:16进制输入时自动空格,窗口顶层显示,CRC校验,中键清空数据,Ctrl+Enter键发送,互动显示,串口自动扫描,自动打开,参数自动保存等。特别地,在帮助信息中的醒目位置提供了RS-232(DB-9)的引脚描述图。

    下面是serials在deepin 15.11 运行截图,直接在文章开头链接下载安装。deepin 15.11运行截图ubuntu16.04运行截图
    上面是serials在Ubuntu 16.04的运行截图。

    serials的开发环境为Qt 5.2.1,Ubuntu 14.04,下载安装命令为(3条命令请依次执行):

    sudo add-apt-repository ppa:h167297/hening
    sudo apt-get update
    sudo apt-get install serials

    当前支持的版本:
    Trusty (14.04) ,Vivid (15.04),Xenial (16.04),Yakkety (16.10),Zesty (17.04),Artful (17.10),Bionic (18.04),Disco (19.04),Eoan (19.10),Focal (20.04)

    最新版本已在:Trusty (14.04) ,Xenial (16.04),Bionic (18.04),Disco (19.04),Eoan (19.10),Focal (20.04) 发布。

    Vivid (15.04),Yakkety (16.10),Artful (17.10) 由于已经过了维护期,不能再发布新版本了,所以这些系统上的BUG不能靠自动更新修复了。
    目前旧版本已知的BUG是打不开串口:由于/usr/sbin/serialsbus脚本换行格式为DOS导致的,需要执行dos2unix转换为UNIX风格回车换行符。
    软件出了二进制包外,为了打开串口时不需要root认证输密码,所以一共用了4个shell脚本来程序的前台和后台启动。它们分别是:
    /usr/bin/serials
    /usr/sbin/serialsdbus
    /usr/lib/serials/serials.sh
    /usr/lib/serials/serialsdbus.sh
    以serials为名的脚本有问题或格式不对,会导致程序打不开,以serialsdbus为名的脚本有问题或格式不对,会导致串口打不开。

    在其它老旧版本下sudo apt-get update会报错,找不到Release文件和二进制包了。
    这种情况下手动添加,将下面两句
    deb http://ppa.launchpad.net/h167297/hening/ubuntu trusty main
    deb-src http://ppa.launchpad.net/h167297/hening/ubuntu trusty main
    添加到 /etc/apt/source.list中
    添加key,以便ubuntu校验包
    sudo apt-key adv --keyserver http://keyserver.ubuntu.com --recv-keys E1BAB8E7
    再执行sudo apt-get update,会有未签名之类的警告,忽略。
    再执行安装命令:sudo apt-get install serials

    安装完成后将在桌面生成快捷方式,可直接双击运行,无需在终端以root权限启动!(仍保留对命令行启动的支持,命令为serials)

    如果希望连安装都不需要命令,那么请到 http://download.csdn.net/download/h167297/9838997下载离线deb包(Zesty (17.04)版本),已经打包了所需的qt库,若还缺少依赖请自行解决。由于上传后的资源不能更改,上述链接的资源无法持续更新,而用命令下载可以获取最新版本(文中介绍的版本是现阶段最新的)。

    悄悄地告诉你:用命令还可以获取源码(sudo apt-get source serials)

    ppa路径:https://launchpad.net/~h167297/+archive/ubuntu/hening/+packages
    在https://launchpad.net上放源码是因为只有在这里构建成功了,才能使用sudo apt-get install serials下载。

    当前已经构建的包(precise构建失败了,没空去解决):
    支持的ubuntub版本

    若使用Git,请fork该仓库 https://github.com/h167297/serials.git 。

    由于本人已经不在嵌入式领域,进入ICT领域了,工作原因,已经没时间更新了,欢迎各位共同完善这个工具。

    展开全文
  • linux环境下的串口调试软件,附上源代码!
  • /* Linux 串口调试软件,UNIX环境串口调试软件 支持设置串口特征字、波特率和奇偶校验位,支持输入报文和拷贝报文进行发送, 发送后等待接收,直到10超时;支持接收模式,一直接收和打印报文 */ #include<...
    /* Linux 串口调试软件,UNIX环境串口调试软件 
       支持设置串口特征字、波特率和奇偶校验位,支持输入报文和拷贝报文进行发送,
       发送后等待接收,直到10秒超时;支持接收模式,一直接收和打印报文 */
    #include<stdio.h>      /*标准输入输出定义*/  
    #include<stdlib.h>     /*标准函数库定义*/  
    #include<unistd.h>     /*Unix 标准函数定义*/  
    #include<sys/types.h>   
    #include<sys/stat.h>     
    #include<fcntl.h>      /*文件控制定义*/  
    #include<termios.h>    /*PPSIX 终端控制定义*/  
    #include<errno.h>      /*错误号定义*/  
    #include<string.h>  
    
    // 宏定义  
    #define FALSE  0  
    #define TRUE   1 
    #define BUFF_SIZE 4200
    
    typedef unsigned char uint8;
    typedef unsigned int uint32;
       
    /*******************************************************************
    * 名称:        COM_Open
    * 功能:        打开串口并返回串口设备文件描述
    * 入口参数:    fd    :文件描述符     port :串口号(ttyS0,ttyS1,ttyS2)
    * 出口参数:    正确返回为1,错误返回为0
    *******************************************************************/  
    int COM_Open(int fd,char* port)  
    {  
        fd = open( port, O_RDWR|O_NOCTTY|O_NDELAY);  
        if (FALSE == fd)  
        {  
            perror("Can't Open Serial Port");  
            return(FALSE);  
        }  
        //恢复串口为阻塞状态                                 
        if(fcntl(fd, F_SETFL, 0) < 0)  
        {  
            printf("fcntl failed!\n");  
            return(FALSE);  
        }       
        else  
        {  
            printf("fcntl=%d\n",fcntl(fd, F_SETFL,0));  
        }  
        //测试是否为终端设备      
        if(0 == isatty(STDIN_FILENO))  
        {  
            printf("standard input is not a terminal device\n");  
            return(FALSE);  
        }  
        else  
        {
            printf("isatty success!\n");  
        }                
        printf("fd=%d\n",fd);
        return fd;  
    }
    
    /*******************************************************************
    * 名称:         COM_Close
    * 功能:         关闭串口并返回串口设备文件描述
    * 入口参数:    fd    :文件描述符     port :串口号(ttyS0,ttyS1,ttyS2)
    * 出口参数:     void
    *******************************************************************/  
    void COM_Close(int fd)  
    {  
        close(fd);  
    }  
       
    /*******************************************************************
    * 名称:        COM_Set
    * 功能:         设置串口数据位,停止位和效验位
    * 入口参数:    fd        串口文件描述符
    *                speed     串口速度
    *               flow_ctrl   数据流控制
    *                  databits   数据位   取值为 7 或者8
    *                  stopbits   停止位   取值为 1 或者2
    *                parity     效验类型 取值为N,E,O,,S
    *出口参数:      正确返回为1,错误返回为0
    *******************************************************************/  
    int COM_Set(int fd,int speed,int flow_ctrl,int databits,int stopbits,int parity)  
    {  
        int   i;  
        int   status;  
        int   speed_arr[] = { B115200, B19200, B9600, B4800, B2400, B1200, B300};  
        int   name_arr[]  = {115200,  19200,  9600,  4800,  2400,  1200,  300};  
               
        struct termios options;  
         
        /*tcgetattr(fd,&options)得到与fd指向对象的相关参数,并将它们保存于options,该函数还可以测试配置是否正确,该串口是否可用等。
        若调用成功,函数返回值为0,若调用失败,函数返回值为1.
        */  
        if( tcgetattr( fd,&options)  !=  0)  
        {  
            perror("SetupSerial 1");      
            return(FALSE);   
        }  
        
        //设置串口输入波特率和输出波特率  
        for ( i= 0;  i < sizeof(speed_arr) / sizeof(int);  i++)  
        {  
            if  (speed == name_arr[i])  
            {               
                cfsetispeed(&options, speed_arr[i]);   
                cfsetospeed(&options, speed_arr[i]);    
            }  
        }       
         
        //修改控制模式,保证程序不会占用串口  
        options.c_cflag |= CLOCAL;  
        //修改控制模式,使得能够从串口中读取输入数据  
        options.c_cflag |= CREAD;  
        
        //设置数据流控制  
        switch(flow_ctrl)  
        {  
            case 0 ://不使用流控制  
                options.c_cflag &= ~CRTSCTS;  
                break;     
            
            case 1 ://使用硬件流控制  
                options.c_cflag |= CRTSCTS;  
                break;  
            case 2 ://使用软件流控制  
                options.c_cflag |= IXON | IXOFF | IXANY;  
                break;  
        }  
        //设置数据位  
        //屏蔽其他标志位  
        options.c_cflag &= ~CSIZE;  
        switch (databits)  
        {    
            case 5    :  
                options.c_cflag |= CS5;  
                break;  
            case 6    :  
                options.c_cflag |= CS6;  
                break;  
            case 7    :      
                options.c_cflag |= CS7;  
                break;  
            case 8:      
                options.c_cflag |= CS8;  
                break;    
            default:     
                fprintf(stderr,"Unsupported data size\n");  
                return (FALSE);   
        }  
        //设置校验位  
        switch (parity)  
        {    
            case 'n':  
            case 'N': //无奇偶校验位。  
                     options.c_cflag &= ~PARENB;   
                     options.c_iflag &= ~INPCK;      
                     break;   
            case 'o':    
            case 'O'://设置为奇校验      
                     options.c_cflag |= (PARODD | PARENB);   
                     options.c_iflag |= INPCK;               
                     break;   
            case 'e':   
            case 'E'://设置为偶校验    
                     options.c_cflag |= PARENB;         
                     options.c_cflag &= ~PARODD;         
                     options.c_iflag |= INPCK;        
                     break;  
            case 's':  
            case 'S': //设置为空格   
                     options.c_cflag &= ~PARENB;  
                     options.c_cflag &= ~CSTOPB;  
                     break;   
            default:    
                     fprintf(stderr,"Unsupported parity\n");      
                     return (FALSE);   
        }   
        // 设置停止位   
        switch (stopbits)  
        {    
            case 1:     
                options.c_cflag &= ~CSTOPB; break;   
            case 2:     
                options.c_cflag |= CSTOPB; break;  
            default:     
               fprintf(stderr,"Unsupported stop bits\n");   
               return (FALSE);  
        }  
         
        //修改输出模式,原始数据输出  
        options.c_oflag &= ~OPOST;  
        
        options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);  
        //options.c_lflag &= ~(ISIG | ICANON);  
         
        //设置等待时间和最小接收字符  
        options.c_cc[VTIME] = 1; /* 读取一个字符等待1*(1/10)s */    
        options.c_cc[VMIN] = 1; /* 读取字符的最少个数为1 */  
         
        //如果发生数据溢出,接收数据,但是不再读取 刷新收到的数据但是不读  
        tcflush(fd,TCIFLUSH);  
         
        //激活配置 (将修改后的termios数据设置到串口中)  
        if (tcsetattr(fd,TCSANOW,&options) != 0)    
        {  
            perror("com set error!\n");    
            return (FALSE);   
        }  
        return (TRUE);   
    }
    
    /*******************************************************************
    * 名称:        COM_Init
    * 功能:        串口初始化
    * 入口参数:    fd       :  文件描述符    
    *               speed  :  串口速度
    *               flow_ctrl  数据流控制
    *               databits   数据位   取值为 7 或者8
    *               stopbits   停止位   取值为 1 或者2
    *               parity     效验类型 取值为N,E,O,,S
    * 出口参数:    正确返回为1,错误返回为0
    *******************************************************************/  
    int COM_Init(int fd, int speed,int flow_ctrl,int databits,int stopbits,int parity)  
    {  
        int err;
        //设置串口数据帧格式  
        if (COM_Set(fd,speed,0,8,1,parity) == FALSE)  
        {
            return FALSE;  
        }  
        else  
        {  
            return  TRUE;  
        }  
    }  
       
    /*******************************************************************
    * 名称:        COM_Recv
    * 功能:        接收串口数据
    * 入口参数:    fd                  :文件描述符     
    *               rcv_buf     :接收串口中数据存入rcv_buf缓冲区中
    *               data_len    :一帧数据的长度
    * 出口参数:    正确返回接收长度,错误返回为0
    *******************************************************************/  
    int COM_Recv(int fd, char *rcv_buf,int data_len)  
    {  
        int len,fs_sel;  
        fd_set fs_read;  
         
        struct timeval time;  
         
        FD_ZERO(&fs_read);  
        FD_SET(fd,&fs_read);  
         
        time.tv_sec = 10;  
        time.tv_usec = 0;  
         
        // 使用select实现串口的多路通信
        fs_sel = select(fd+1,&fs_read,NULL,NULL,&time);  
        if (fs_sel)  
        {  
            len = read(fd,rcv_buf,data_len);  
            return len;  
        }  
        else  
        {  
            printf("COM_Recv timeout!");
            return 0;  
        }
    }
    
    /********************************************************************
    * 名称:         COM_Send
    * 功能:      发送数据
    * 入口参数:  fd          :文件描述符     
    *             send_buf    :存放串口发送数据
    *                data_len    :一帧数据的个数
    * 出口参数:  正确返回为1,错误返回为0
    *******************************************************************/  
    int COM_Send(int fd, char *send_buf,int data_len)  
    {  
        int len = 0;  
         
        len = write(fd,send_buf,data_len);  
        if (len == data_len )  
        {  
            //printf("send data is %s\n",send_buf);
            return len;  
        }       
        else     
        {  
            tcflush(fd,TCOFLUSH);  
            return FALSE;  
        }  
    }   
       
    int main(int argc, char **argv)  
    {  
        int fd;                             // 文件描述符  
        int err;                            // 返回调用函数的状态
        int speed = 115200;
        char parity = 'N';  
        unsigned int tmpU32 = 0;
        int buff_len = 0;
        int len;
        int i;
        uint8 Buff[BUFF_SIZE+1] = {0};
        
        if ((argc != 2)&&(argc != 3)&&(argc != 4))
        {  
            printf("Usage: %s /dev/ttyXX 0(send data)/1(receive data) \n",argv[0]);
            printf("Example:./a.out /dev/tty0 0 9600-E (send mode,9600-E-8-1)\n");
            printf("Example:./a.out /dev/tty0 (default:send and recv mode,115200-N-8-1)\n");
            return 0;  
        }  
        fd = COM_Open(fd, argv[1]); // 打开串口,返回文件描述符
        if (fd <= 0)
        {
            printf("Open Port err! fd=%d %s\n", fd, argv[1]);
            return 0;
        }
        else
        {
            printf("Open Port ok! fd=%d %s\n", fd, argv[1]);
        }
        
        do
        {
            if (4 == argc)
            {
                sscanf(argv[3], "%d-%c", &speed, &parity);
            }
            
            err = COM_Init(fd,speed,0,8,1, parity);
            if (err)
                printf("Set  Port ok! fd=%d %s %d-%c-8-1\n", fd,argv[1], speed, parity);
            else
                printf("Set  Port err! fd=%d err=%d %s %d-%c-8-1\n", fd,err,argv[1], speed, parity);
        }while((FALSE == err)&&(tmpU32++ < 5));
        if (FALSE == err)
            return 0;
         
        if((argc == 2)||(0 == strcmp(argv[2], "0")))   // 输入buff,发送,接收
        {
            while (1)
            {
                // 输入准备发送的Buff
                printf("Input hex buff to send, end of Enter. Example:11 22 AA FF\n");
                printf("Buff:");
                i = 0;
                len = 0;
                if (fgets(Buff, sizeof(Buff), stdin) != NULL)
                {
                    buff_len = strlen(Buff);
                    while(Buff[i] == ' ') i++;
                    for (; i < buff_len; i+=2)
                    {
                        while(Buff[i] == ' ') 
                        {
                            i++;
                        }
                        if (i >= buff_len-1)
                        {
                            break;
                        }
                        sscanf(Buff+i, "%02X", &tmpU32);
                        Buff[len++] = (uint8)tmpU32;
                    }
                }
                
                // 发送数据
                printf("Send len = %d\n", len);
                tcflush(fd, TCIFLUSH);
                len = COM_Send(fd, Buff, len);
                if(len > 0)
                {
                    printf("Send:");
                    for (i = 0; i < len; i++)
                    {
                        printf("%02X ", Buff[i]);
                    }
                    printf("\n");
                    memset(Buff, 0x00, len);
                }
                else
                {
                    printf("Send data failed!\n");
                    memset(Buff, 0x00, sizeof(Buff));
                }
                    
                // 接收数据
                len = COM_Recv(fd, Buff, sizeof(Buff));
                if(len > 0)  
                {  
                    printf("Recv len = %d\n",len);  
                    printf("Recv:");
                    for (i = 0; i < len; i++)
                    {
                        printf("%02X ", Buff[i]);
                    }
                    printf("\n");
                    memset(Buff, 0x00, len);
                }
                putchar('\n');
            }  
            COM_Close(fd);               
        }  
        else    // 接收
        {                                        
            while (1) // 循环读取数据  
            {    
                len = COM_Recv(fd, Buff, sizeof(Buff));  
                if(len > 0)  
                {  
                    printf("Recv len = %d\n",len);  
                    printf("Recv:");
                    for (i = 0; i < len; i++)
                    {
                        printf("%02X ", Buff[i]);
                    }
                    printf("\n");
                    memset(Buff, 0x00, len);
                }  
                else  
                {  
                    printf("Cannot receive data!\n");
                    memset(Buff, 0x00, sizeof(Buff));
                }  
            }
            COM_Close(fd);   
        }
        
        printf("Over!\n");
    } 
    

    测试:

    root@ubuntu:/home/forlinuxsmb/uart# gcc ComTest.c
    root@ubuntu:/home/forlinuxsmb/uart# ./a.out /dev/ttyACM1 0 9600-E
    fcntl=0
    isatty success!
    fd=3
    Open Port ok! fd=3 /dev/ttyACM1
    Set  Port ok! fd=3 /dev/ttyACM1 9600-E-8-1
    Input hex buff to send, end of Enter. Example:11 22 AA FF
    Buff:11 22 AA FF CC
    Send len = 5
    Send:11 22 AA FF CC 
    Recv len = 5
    Recv:11 22 AA FF CC 

    Input hex buff to send, end of Enter. Example:11 22 AA FF
    Buff:^C

    root@ubuntu:/home/forlinuxsmb/uart# ./a.out /dev/ttyACM1
    fcntl=0
    isatty success!
    fd=3
    Open Port ok! fd=3 /dev/ttyACM1
    Set  Port ok! fd=3 /dev/ttyACM1 115200-N-8-1
    Input hex buff to send, end of Enter. Example:11 22 AA FF
    Buff:AA 55 33 FF
    Send len = 4
    Send:AA 55 33 FF 
    Recv len = 4
    Recv:AA 55 33 FF 

    Input hex buff to send, end of Enter. Example:11 22 AA FF
    Buff:^C
     

    展开全文
  • 【mac】ssh免登录密码 mac ssh免登录密码 在mac或者Linux上需要使用ssh登服务器,每次都需要输密码感觉很麻烦,搜了一下找到一个脚本,实践后发现可行. 1.创建脚本xx.sh $ vim xx.sh 输入: # ... js中的拷贝问题 浅...

    微信企业号办公系统-图片预览放大功能-previewImage

    在微信里看过文章的应该知道,文章里的图片点击后可以放大.分享和保存. 然而自己在微信里开发的网页,里面的图片点击后没办法实现这个效果,然后就去看了下微信JS文档,里面有个previewImage可以调 ...

    92、App Permissions(权限管理)实例

    •Manifest权限声明 •Permission Groups-权限组 •权限的区分-安装时授权于运行时授权 •撤销权限 •检查.请求权限 •在应用中如何合理的处理权限请求逻辑   在Android ...

    hdoj 5358 First One

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5358 一开始一直以为是一道数学题,在找有什么规律化简Log2(S(i,j)),结束了以后才造  ⌊lo ...

    eclipse修改java代码后报错: java&period;lang&period;OutOfMemoryError&colon; PermGen space

    由于在eclipse中运行项目后,我们又重新修改了某个java类,导致tomcat会重新加载这个项目所有的class.jar,多次加载后由于分配的存储空间有限,就导致了:java.lang.OutOf ...

    SQL开发中容易忽视的一些小地方&lpar;四&rpar;

    原文:SQL开发中容易忽视的一些小地方(四) 本篇我想针对网上一些对于非聚集索引使用场合的某些说法进行一些更正. 下面引用下MSDN对于非聚集索引结构的描述. 非聚集索引结构: 1:非聚集索引与聚集索 ...

    【mac】ssh免登录密码

    mac ssh免登录密码 在mac或者Linux上需要使用ssh登服务器,每次都需要输密码感觉很麻烦,搜了一下找到一个脚本,实践后发现可行. 1.创建脚本xx.sh $ vim xx.sh 输入: # ...

    js中的拷贝问题

    浅拷贝的实现 // 浅拷贝函数 var dad = {name:'chen',age:18}; var son = {sex:'男'}; function clone(dad,son){ var so ...

    Solidity函数view&comma;pure&comma;constant的用法

    函数访问权限:public,external,private,internal //子类可以得到父类下面的方法,父类用了public,external的话 pragma solidity ^; con ...

    lombok &commat;Builder注解使用的例子、反编译之后的代码详解

    lombok的@Builder实际是建造者模式的一个变种,所以在创建复杂对象时常使用 这里对lombok的@Builder和@Data组合的使用示例 import lombok.Builder; im ...

    Team抢救最后一下

    Team抢救最后一下 Task1:Team抢救的总结 秦玉:       非常荣幸能以团队的方式获得这次的小黄衫,这件衣服的意义不仅是这门课的奖励,也会是我们整个抢救团队的一个见证和回忆~       ...

    展开全文
  • 串口调试软件,可以跨平台使用(windows、linux)。可以在树莓派中使用。
  • 伏特加作为一款通用的数据调试工具, 它的初衷是让图形化调试变得像串口调试一样简单。通过打印字符串,或者发送十六进制数字的方式,就能完成数据的可视化操作。并且拥有强大的实时统计功能,以往需要保存数据转移...
  • 使用Kdevelop开发的图形界面的串口调试软件。请联系xu.huidong@gmail.com
  • 这款软件就与我们在Windows下使用的图形界面的串口调试工具很类似了 安装:apt-get install cutecom 使用流程:需要注意的是,操作 linux /dev 下面的设备文件都是需要管理员权限的,使用时要注意这一点。

    minicom
    minicom 是一款启动速度快,功能强大的串口终端调试工具,当然缺点就是纯字符界面,没有图形界面的调试工具看起来直观方便,但是它功能十分强大,并且在一些没有屏幕的嵌入式主板上运行颇有用处。

    安装:apt-get install minicom

    cutecom
    这款软件就与我们在Windows下使用的图形界面的串口调试工具很类似了

    安装:apt-get install cutecom

    使用流程:需要注意的是,操作 linux /dev 下面的设备文件都是需要管理员权限的,使用时要注意这一点。进入root模式后,运行 ''cutecom"

    picocom
    这款软件看上去像是 minicom 的精简版,设置比较简单,还可以有背景颜色。使用的用户也是比较多的。

    安装:apt-get install picocom

    使用流程:由于软件简介方便,我们直接打出帮助功能,运行 “picocom -h”

    如果需要退出的话,需要首先按组合键 Ctrl + a,该组合键是转义功能,之后再按组合键 Ctrl + q,就可以正常退出了。

    putty

    在线安装:apt-get install putyy

    展开全文
  • linux串口调试工具

    千次阅读 2010-08-03 10:05:00
    <br />标签: linux 串口 xgcom 开源项目-图形化串口调试工具XGCom一、软件介绍: 一个Linux下的图形化的串口调试工具.帮助开发者调试串口程序.部分代码参考 gtkterm-0.99.5.二、安装使用: ...
  • Intel_X86平台上可用的串口调试助手软件linux版。图形化界面,可以运行在国产操作系统,中标麒麟,银河麒麟,深度等平台上,无须安装,解压即可运行。软件主要划分为三个区域,上部为参数设置区,主要包括了串口号、...
  • 一款超好用的免费串口调试工具,目前软件已经更新到5.1.2版本,性能稳定,实在是调试工作的好助手。
  • Linux版本 串口调试助手 发布

    千次阅读 2015-11-06 17:43:36
    苦于Linux下没有类似「串口调试助手」之类的小软件,工作起来不是太方便,最终下决心写一个串口调试助手,界面就不用重新设计了,直接照着Windows下一个叫sscom的串口调试助手工具界面进行设计(非盈利,应该不涉及到...
  • SCT(Serial Communication Tracer的缩写)是一个很有用的Linux/Unix串行通信调试工具,软件内置了Shell命令解释器,你可以通过直接输入简短的命令和参数来控制串口打开/关闭和进行各种发送/接收活动。   如何...
  • 可用来与串口设备通信,如调试交换机和Modem等,它的使用完全依靠键盘的操作。 一、安装: Linux各发行版因软件管理方式不同而不同,先通过软件管理从自己的软件仓库进行搜索安装。 二、查看串口设备及文件权限...
  • Cutecom--Linux串口调试工具

    千次阅读 2016-03-14 00:06:46
    Cutecom是一款在Linux环境下,非常好用的串口调试工具,使用方法几乎跟Windows下的串口调试工具一样,非常方便。 Cutecom的安装:直接在终端输入:sudo apt-get install cutecom。 安装完后,使用命令:sudo cutecom...
  • 本文是在进行linux 下串口操作的时候找到的一些关于串口工具的内容   这里主要用了minicom和另外的图形工具xgcom 经过使用测试,这两个工具感觉都...开源项目-图形化串口调试工具XGCom [软件开发]发布时间:201
  • 一个Linux下的图形化的串口调试工具.帮助开发者调试串口程序.部分代码参考 gtkterm-0.99.5. 二、安装使用: 项目源码下载: 项目管理地址:http://code.google.com/p/xgcom/ svn checkout ...
  • minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如...Linux各发行版因软件管理方式不同而不同,先通过软件管理从自己的软件仓库进行搜索安装。 二、查看串口设备及文件权限 1、l...
  • 1.软件安装  在Ubuntu下的安装很简单,打开终端,使用sudo apt-get install cutecom安装即可。 2.运行程序  打开终端,用sudo cutecom命令来打开,打开界面如下。 Device:设备名 Band rate:波特率 Data ...
  • Linux下的串口调试工具

    千次阅读 2016-04-21 12:02:34
    minicom是linux串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。 一、安装minicom: 使用以下...
  • 本文按照COMTransmit软件界面上的区域划分来详细介绍该串口调试工具的功能 串口配置区域: Device 打开关闭 串口设置 数据长度(5、6、7、8) 流控选择(硬件流控CTS/RTS、软件流控) 校验方式(None、Even、Odd、...
  • 简介 UART串口是嵌入式设备最为常用的调试和通讯接口之一,无论是RS232还是RS422/485都有着非常广泛的应用,因此本文就基于嵌入式Linux演示在...如果将开发板直接与PC机串口相连接,那只需安装串口调试软件即可 如果...
  • linux串口调试工具 sudo apt-get install cutecom 终端执行:cutecom linux 图像处理软件 sudo apt-get install gimp 终端执行:gimp Linux 查找指定内容在哪个文件中 在实际的工作中,忘记配置项放在哪个...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 319
精华内容 127
关键字:

linux串口调试软件

linux 订阅