关于Linux串口测试工具解析

运维 系统运维
Linux串口测试工具网上常见的版本都看起来比较烦琐,下面是一个简单一点的,这个程序功能是收到10个字节后会发前7个字节,如果所发的数据的第一个字节是9则退出。

由于已经完成了***个HELLO程序,标志着整个编译环境已经没有问题了,下来准备做一下串口测试程序。由于串口驱动开发板已经作好了,所以就作一个Linux串口测试工具简单的数据收发看看。
 

/* rs232_send.c*/  
#include   
#include   
#include   
#include   
#include  
#include   
#include   
#include   
#include   
#defineBAUDRATEB115200//38400  
#defineMODEMDEVICE"/dev/ttyS1"  
int main()  
{  
int fd,c=0,res;  
struct termios oldtio,newtio;  
intch;  
static char s1[20],buf[19];  
printf("start ...\n");  
/*打开PC的COM1口*/  
fd = open(MODEMDEVICE,O_RDWR|O_NOCTTY);   
if (fd  
{  
perror(MODEMDEVICE);  
exit(1);  
}  
printf("open...\n");  
/*将旧的通讯参数存入oldtio结构*/  
tcgetattr(fd,&oldtio);  
/*初始化新的newtio */  
bzero(&newtio,sizeof(newtio));  
/*8N1*/  
newtio.c_cflag = BAUDRATE|CS8|CLOCAL|CREAD;  
newtio.c_iflag = IGNPAR;  
newtio.c_oflag = 0;  
 
/*正常模式*/  
/*newtio.c_lflag = ICANON;*/  
    
/*非正常模式*/  
newtio.c_lflag = 0;  
newtio.c_cc[VTIME] = 0;   
newtio.c_cc[VMIN] = 10;  
 
tcflush(fd,TCIFLUSH);  
/*新的temios作为通讯端口参数*/  
tcsetattr(fd,TCSANOW,&newtio);  
printf("writing...\n");  
 
while(1)  
{  
res = read(fd,buf,10);  
res = write(fd,buf,7);  
if(buf[0]==9) break;  
}  
 
printf("close...\n");  
close(fd);  
/*还原旧参数*/  
tcsetattr(fd,TCSANOW,&oldtio);  
return 0;  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.


还有一点要注意,就是Linux串口测试工具串口有两种工作模式,即正规模式和非正规模式,如果习惯在串口调试器中用16进制发送,此时串口应该为非正规模式才行。

下面是这两种模式的说明
Linux串口测试工具正规模式(CANONICAL或者COOKED)
此模式下,终端设备会处理特殊字符,并且数据传输是一次一行的方式,既按回车后才开始发送和接收数据。例如LINUX的SHELL。
Linux串口测试工具非正规模式(NON-CANONICAL或者RAW)
此模式下,终端设备不会处理特殊字符,并且数据传输是一次一个字符的方式,既不用按回车换行。例如LINUX的VIM。

【编辑推荐】

  1. 学习笔记 Linux系统下如何进行SVN服务器搭建
  2. linux 网络监控系统的开发及其应用
  3. Linux环境中Windows软件环境的十七个替代品
  4. 系统监控:linux 系统监控命令详解
  5. Linux压力测试工具webbench的安装使用介绍
责任编辑:chenqingxiang 来源: IT168
相关推荐

2010-06-07 14:05:38

Linux串口测试工具

2010-05-28 10:53:07

Linux串口测试工具

2010-06-07 14:42:47

Linux性能测试工具

2010-06-13 17:12:10

Linux串口测试工具

2010-06-07 17:46:46

Linux压力测试工具

2025-01-26 11:05:23

2010-06-04 16:31:33

Linux网络测试

2010-06-04 16:07:09

Linux 性能测试工

2022-01-24 16:55:09

LinuxTCP工具

2024-03-06 18:09:06

Linux性能工具

2009-06-26 10:22:58

JSF测试

2011-05-31 18:09:05

动态测试

2010-06-11 11:20:18

Linux性能测试工具

2010-06-17 15:16:22

Linux测试工具

2010-06-10 17:37:08

Linux 性能测试工

2010-06-17 15:25:10

Linux测试工具

2010-05-27 18:04:06

Linux测试工具

2015-07-27 18:19:22

Linuxstress参数

2010-05-27 18:14:46

Linux测试工具

2011-05-31 18:25:25

测试工具
点赞
收藏

51CTO技术栈公众号