资源简介
Linux下用qt写的串口通信类,希望对大家有帮助
代码片段和文件信息
int MyMainWindow :: setserial( int nSpeed int nBits char nEvent int nStop )
{
struct termios oldtionewtio;
//保存现有串口参数设置
if ( tcgetattr( fd&oldtio) != 0) {
msg -> setText( tr(“SetupSerial 1“) );
return -1;
}
bzero( &newtio sizeof( newtio ) );
//设置字符串大小
newtio.c_cflag |= CLOCAL | CREAD;
newtio.c_cflag &= ~CSIZE;
newtio.c_iflag &= ~(ICRNL | IXON);
//设置数据位
switch( nBits )
{
case 7:
newtio.c_cflag |= CS7;
break;
case 8:
newtio.c_cflag |= CS8;
break;
}
//设置奇偶校验位
switch( nEvent )
{
case ‘O‘:
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_iflag |= (INPCK | ISTRIP);
break;
case ‘E‘:
newtio.c_iflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB;
newtio.c_cflag &= ~PARODD;
break;
case ‘N‘:
newtio.c_cflag &= ~PARENB;
break;
}
//设置波特率
switch( nSpeed )
{
case 2400:
cfsetispeed(&newtio B2400);
cfsetospeed(&newtio B2400);
break;
case 4800:
cfsetispeed(&newtio B4800);
cfsetospeed(&newtio B4800);
break;
case 9600:
cfsetispeed(&newtio B9600);
cfsetospeed(&newtio B9600);
break;
case 115200:
cfsetispeed(&newtio B115200);
cfsetospeed(&newtio B115200);
break;
case 460800:
cfsetispeed(&newtio B460800);
cfsetospeed(&newtio B460800);
break;
default:
cfsetispeed(&newtio B9600);
cfsetospeed(&newtio B9600);
break;
}
//设置停止位
if( nStop == 1 )
newtio.c_cflag &= ~CSTOPB;
else if ( nStop == 2 )
newtio.c_cflag |= CSTOPB;
//设置等待时间和最小接收字符
newtio.c_cc[VTIME] = 0;
newtio.c_cc[V
相关资源
- 酒店管理系统基于Qt Creator5)
- 易语言OTG串口通信
- delphi 串口通讯
- STM32蓝牙和串口程序
- uboot到linux logo显示不间断 补丁
- LCD显示温度+串口接收温度.rar
- WPF USB 网络 串口 通信软件
- UNIX/LINUX编程实践教程的源码
- DELPHI与西门子200PLC的串口通信实例
- Linux任务管理器
- linux应用层的华容道游戏源代码
- Verilog FPGA UART串口控制器
- USB转串口驱动,FT232R驱动程序,最新
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- PC -- 单片机的串口数据传输系统设计
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- ubuntu9.10 可加载内核模块和字符设备驱
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- PC 串口调试软件
- qt-电子点菜系统
- 51单片机读取温度数据存储到SD卡中并
- MP3文件ID3v2ID3v2APEv2标签读取
- 单片机与PC机串口通讯仿真
- C 餐厅叫号系统(QT平)
- 串口调试助手V5.0
- QT 实现文件下载
- qt图像处理
评论
共有 条评论