iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ubuntu串口怎么测试
  • 237
分享到

ubuntu串口怎么测试

2023-07-04 15:07:32 237人浏览 八月长安
摘要

本篇内容主要讲解“ubuntu串口怎么测试”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu串口怎么测试”吧!测试新机器的串口硬件的是否正常,可借用以下程序测试串口是否正常运行,代码如下

本篇内容主要讲解“ubuntu串口怎么测试”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu串口怎么测试”吧!

测试新机器的串口硬件的是否正常,可借用以下程序测试串口是否正常运行,代码如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define FALSE 1

#define TRUE 0

char *recchr="We received:\"";

void print_usage();

int speed_arr[] = {

B921600, B460800, B230400, B115200, B57600, B38400, B19200,

B9600, B4800, B2400, B1200, B300,

};

int name_arr[] = {

921600, 460800, 230400, 115200, 57600, 38400, 19200,

9600, 4800, 2400, 1200, 300,

};

void set_speed(int fd, int speed)

{

int i;

int status;

struct termiOS Opt;

tcgetattr(fd, &Opt);

for ( i= 0; i < sizeof(speed_arr) / sizeof(int); i++) {

if (speed == name_arr[i]) {

tcflush(fd, TCioFLUSH);

cfsetispeed(&Opt, speed_arr[i]);

cfsetospeed(&Opt, speed_arr[i]);

status = tcsetattr(fd, TCSANOW, &Opt);

if (status != 0)

perror("tcsetattr fd1");

return;

}

tcflush(fd,TCIOFLUSH);

}

if (i == 12){

printf("\tSorry, please set the correct baud rate!\n\n");

print_usage(stderr, 1);

}

}

int set_Parity(int fd,int databits,int stopbits,int parity)

{

struct termios options;

if ( tcgetattr( fd,&options) != 0) {

perror("SetupSerial 1");

return(FALSE);

}

options.c_cflag &= ~CSIZE ;

switch (databits) {

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);

}

if (parity != 'n')

options.c_iflag |= INPCK;

options.c_cc[VTIME] = 150; // 15 seconds

options.c_cc[VMIN] = 0;

options.c_lflag &= ~(ECHO | ICANON);

tcflush(fd,TCIFLUSH);

if (tcsetattr(fd,TCSANOW,&options) != 0) {

perror("SetupSerial 3");

return (FALSE);

}

return (TRUE);

}

int OpenDev(char *Dev)

{

int fd = open( Dev, O_RDWR ); //| O_NOCTTY | O_NDELAY

if (-1 == fd) {

perror("Can't Open Serial Port");

return -1;

} else

return fd;

}

const char * program_name;

void print_usage (FILE *stream, int exit_code)

{

fprintf(stream, "Usage: %s option [ dev... ] \n", program_name);

fprintf(stream,

"\t-h --help Display this usage infORMation.\n"

"\t-d --device The device ttyS[0-3] or ttySCMA[0-1]\n"

"\t-b --baudrate Set the baud rate you can select\n"

"\t [230400, 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 300]\n"

"\t-s --string Write the device data\n");

exit(exit_code);

}

int main(int arGC, char *argv[])

{

int fd, next_option, havearg = 0;

char *device;

int i=0,j=0;

int nread;

char buff[512];

pid_t pid;

char *xmit = "1234567890";

int speed ;

const char *const short_options = "hd:s:b:";

const struct option long_options[] = {

{ "help", 0, NULL, 'h'},

{ "device", 1, NULL, 'd'},

{ "string", 1, NULL, 's'},

{ "baudrate", 1, NULL, 'b'},

{ NULL, 0, NULL, 0 }

};

program_name = argv[0];

do {

next_option = getopt_long (argc, argv, short_options, long_options, NULL);

switch (next_option) {

case 'h':

print_usage (stdout, 0);

case 'd':

device = optarg;

havearg = 1;

break;

case 'b':

speed = atoi(optarg);

break;

case 's':

xmit = optarg;

havearg = 1;

break;

case -1:

if (havearg) break;

case '?':

print_usage (stderr, 1);

default:

abort ();

}

}while(next_option != -1);

sleep(1);

fd = OpenDev(device);

if (fd > 0) {

set_speed(fd, speed);

} else {

fprintf(stderr, "Error opening %s: %s\n", device, strerror(errno));

exit(1);

}

if (set_Parity(fd,8,1,'N')== FALSE) {

fprintf(stderr, "Set Parity Error\n");

close(fd);

exit(1);

}

pid = fork();

if (pid < 0) {

fprintf(stderr, "Error in fork!\n");

} else if (pid == 0){

while(1) {

printf("%s SEND: %s id %d\n",device, xmit,i);

write(fd, xmit, strlen(xmit));

sleep(1);

i++;

}

exit(0);

} else {

while(1) {

nread = read(fd, buff, sizeof(buff));

if (nread > 0) {

buff[nread] = '\0';

printf("%s RECV %d total\n", device, nread);

printf("%s RECV: %s\n", device, buff);

}

}

}

close(fd);

exit(0);

}

使用gcc命令进行编译,然后执行生成的可执行文件

列入:./serialtest -d /dev/ttyS* -b 115200

到此,相信大家对“ubuntu串口怎么测试”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: ubuntu串口怎么测试

本文链接: https://www.lsjlt.com/news/346122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ubuntu串口怎么测试
    本篇内容主要讲解“ubuntu串口怎么测试”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu串口怎么测试”吧!测试新机器的串口硬件的是否正常,可借用以下程序测试串口是否正常运行,代码如下...
    99+
    2023-07-04
  • ubuntu如何测试串口
    ubuntu测试串口的方法:测试新机器的串口硬件的是否正常,可借用以下程序测试串口是否正常运行,代码如下:#include #include #include #include #include #include #include...
    99+
    2022-10-03
  • ubuntu怎么查看串口信息
    在Ubuntu系统中,可以使用以下命令来查看串口信息:1. 使用`ls -l /dev/tty*`命令来列出系统中所有的串口设备。通...
    99+
    2023-09-16
    ubuntu
  • ubuntu串口号权限怎么改
    ubuntu串口号权限的修改方法:1、打开终端;2、输入“chmod a+rw /dev/ttyUSB0”命令临时修改权限允许普通用户使用即可。具体操作步骤:使用快捷键【Ctrl+Alt+T】打开终端;输入以下命令临时修改权限允许普通用户使...
    99+
    2022-10-23
  • jmeter接口怎么测试
    这篇文章主要介绍“jmeter接口怎么测试”,在日常操作中,相信很多人在jmeter接口怎么测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jmeter接口怎么测试”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-21
  • java怎么测试接口
    现在大部分的java项目都是前后端分离,以前不分离的时候测试自己所做的界面都是直接启动界面输入数据打断点等进行调试,那现在前后端分离了,后端接口写好后如何测试自己的接口对不对呢?*test类——本地测试第一种方法就是写一个test类,调用F...
    99+
    2015-05-15
    java 测试接口
  • ubuntu中怎么测试gpu性能
    这篇“ubuntu中怎么测试gpu性能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ubuntu中怎么测试gpu性能”文章吧...
    99+
    2023-07-04
  • WebSocket接口怎么做测试
    如果遇见了一个全新的协议,怎么从零开始,完成接口测试?以 WebSocket 为例。 WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocke...
    99+
    2023-09-02
    websocket 网络 服务器
  • linux是怎么测试端口的
    这篇文章将为大家详细讲解有关linux是怎么测试端口的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法:1、利用telnet命令测试,语法为“telnet ip port”;2、利用ssh...
    99+
    2023-06-26
  • Linux的udp端口怎么测试
    本篇内容介绍了“Linux的udp端口怎么测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、tenlnet测试tcp [roo...
    99+
    2023-06-28
  • python怎么编写接口测试文档
    本篇内容主要讲解“python怎么编写接口测试文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么编写接口测试文档”吧!目录前言一、postman接口用例转换为python测试用例...
    99+
    2023-06-20
  • 怎么做好SOAP接口性能测试
    这篇文章主要介绍“怎么做好SOAP接口性能测试”,在日常操作中,相信很多人在怎么做好SOAP接口性能测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么做好SOAP接口性能测试”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-04
  • Ubuntu中怎么使用ApacheBench进行压力测试
    本文小编为大家详细介绍“Ubuntu中怎么使用ApacheBench进行压力测试”,内容详细,步骤清晰,细节处理妥当,希望这篇“Ubuntu中怎么使用ApacheBench进行压力测试”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-27
  • 怎样进行API接口测试
    这篇文章的内容主要围绕怎样进行API接口测试进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!经常有后端开发会问,后端接口都测试什么怎么测简单梳理了一下...
    99+
    2023-06-04
  • ubuntu查看串口的方法是什么
    在Ubuntu中,可以使用以下方法来查看串口:1. 使用命令行工具:打开终端,输入以下命令来列出所有可用的串口设备:```ls /d...
    99+
    2023-09-14
    ubuntu
  • linux怎么使用curl进行接口测试
    要使用curl进行接口测试,首先确保你的Linux系统中已经安装了curl命令。如果尚未安装,可通过如下命令进行安装:```sudo...
    99+
    2023-09-16
    linux curl
  • 怎么测试云服务器上的端口
    要测试云服务器上的端口,可以使用以下方法之一:1. 使用telnet命令:telnet是一种常用的网络连接工具,可以通过telnet...
    99+
    2023-09-23
    云服务器
  • 怎么测试服务器端口通不通
    这篇文章主要介绍了怎么测试服务器端口通不通,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一般情况下使用"telnet ip port"判断端口通不通,其实...
    99+
    2023-06-09
  • Linux系统中串口调试工具怎么用
    这篇文章主要介绍了Linux系统中串口调试工具怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实验环境:OS: Ubuntu16.04 Kernel: 4.4.0mini...
    99+
    2023-06-27
  • linux怎么测试远程端口是否开放
    在Linux中,可以使用`telnet`、`nc`(netcat)或`nmap`命令来测试远程端口是否开放。1. 使用`telnet...
    99+
    2023-08-19
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作