linux系统实现串口,Linux下实现串口读写操作

这篇博客展示了如何在Linux环境下实现串口读写操作,主要包括打开串口、配置串口参数(如波特率、停止位、数据位、无校验位),并通过QT窗体程序实现发送2个数据并接收24个数据的功能。代码中设置了串口参数为115200波特率,使用O_RDWR|O_NOCTTY模式打开,并用tcsetattr进行配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux下实现串口读写操作

这里只贴串口读写操作部分代码,供大家参考学习用,该部分代码主要实现打开串口,配置串口参数波特率为115200、停止位1、数据位8、无校验位,发送2个数据,等待接收24个数据。代码是在QT窗体程序里实现,界面添加了了一个按钮,3个文本框,按下去发送2个数据,等待接收到24个数据后,把发送数据长度、接收数据长度、串口句柄在文本框显示出来。

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include QMessageBox

#include QTime

#include QDebug

#include fcntl.h

#include "stdio.h"

#include "termios.h"

#include "unistd.h"

#include "limits.h"

#include stdint.h

#include "time.h"

//===================

#include sys/select.h

#include sys/time.h

//===================

#define UART_DEV "/dev/ttyS0"

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

, ui(new Ui::MainWindow)

{

ui-setupUi(this);

}

MainWindow::~MainWindow()

{

delete ui;

}

void SetOpt(int fd)

{

struct termios new_cfg; //配置串口的属性定义在结构体struct termios中

tcgetattr(fd, new_cfg); //获取终端控制属性

new_cfg.c_cflag |= (CLOCAL | CREAD); //c_cfl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值