深入探索Linux串口设置(linux设置串口)

Linux串口是由主机通过外部回路连接从机的一种物理接口类型。用于移动端设备可让移动设备的的内部系统可以联合进行通信,从而改善终端性能,平台性能和开放性能。串口协议是全程均按照国际技术标准通信,各种可靠度有保存,确保设备之间安全稳定可靠的通信。今天我们就来深入探索Linux串口设置。

Linux串口设置大致可以分为四部分:1、设置串口波特率;2、检测发送的字符格式;3、检测串口接收缓存区中的字符;4、检测串口输出缓存区中的字符。

首先,设置串口波特率,通常的的串口的波特率都在110,300,600,1200,2400,4800,9600,19200等波特率范围内,那么我们在Linux中设置串口的波特率可用以下代码实现:

#include 
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
//在此处打开串口设备
int fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY);
if (fd
{
perror("打开串口错误!\n");
exit (-1);
}

//以下两步是设置串口的波特率
struct termios opt;
tcgetattr(fd, &opt);
cfsetispeed(&opt, B9600);
cfsetospeed(&opt, B9600);
tcsetattr(fd, TCSANOW, &opt);
//关闭文件
close(fd);
return 0;
}

然后,检测发送的字符格式,可以通过如下代码进行检测:

#include 
int main(int argc, char **argv)
{
//在此处打开串口
int fd = open("/dev/ttyS1", O_RDONLY | O_NOCTTY);

//检查发送的字符
char s[] = "this is a serial test\r\n";
int len = strlen(s);
write(fd, s, len);

//关闭文件
close(fd);
return 0;
}

接着,检测串口接收缓存区中的字符,可以通过如下代码进行检测

#include 
int main()
{
//在此处打开串口
int fd = open("/dev/ttyS1", O_RDONLY | O_NOCTTY);
if (fd
{
perror("打开串口错误!\n");
exit (-1);
}

//检测串口接收缓存区中的字符
char s[40];
int len = read(fd, s, 40);
printf("从串口接收到的字符串:%s\n", s);
//关闭文件
close(fd);
return 0;
}

最后,检测串口输出缓存区中的字符,可以通过如下代码进行检测:

#include 
int main()
{
//在此处打开串口
int fd = open("/dev/ttyS1", O_RDWR | O_NOCTTY);
if (fd
{
perror("打开串口错误!\n");
exit (-1);
}

//检测串口输出缓存区中的字符
char s[40];
int len = write(fd, s, 40);
printf("完成写入缓存\n");
//关闭文件
close(fd);
return 0;
}

以上就是Linux串口设置,从设置波特率到检测发送、接收、输出缓存区中的字符,一步步把USB设备的设置完成。Linux的串口设置可以帮助我们进行高效的通信,其安全性可靠易操作,能为硬件设备提供贴心的操作体验


数据运维技术 » 深入探索Linux串口设置(linux设置串口)