Qt串口实现921600波特率的方法
来源:互联网 发布:下架的网络剧 编辑:程序博客网 时间:2024/05/16 18:52
环境配置:主机:XPQT:5.4.0
写在这里的重点并不是告诉人如何在Qt的串口编程中实现921600的Bps。
1、在Qt中使用串口,我们需要一个第三方的串口类:qextserialport。在其qextserialbase.h文件中,提供了如下常用的波特率:
enum BaudRateType { BAUD50, //POSIX ONLY BAUD75, //POSIX ONLY BAUD110, BAUD134, //POSIX ONLY BAUD150, //POSIX ONLY BAUD200, //POSIX ONLY BAUD300, BAUD600, BAUD1200, BAUD1800, //POSIX ONLY BAUD2400, BAUD4800, BAUD9600, BAUD14400, //WINDOWS ONLY BAUD19200, BAUD38400, BAUD56000, //WINDOWS ONLY BAUD57600, BAUD76800, //POSIX ONLY BAUD115200, BAUD128000, //WINDOWS ONLY BAUD256000 //WINDOWS ONLY};
2、其实要做的简单来说就是添加一种我们需要的波特率,不需要特别的知识,考虑下从应用层到OS层再到硬件寄存器层串口的实现流程,我们只要按照这个流程,添加相应的数据—宏定义/枚举值即可。
3、那么,动手吧。以921600bps为例。
1)在Qt编程时,设置串口波特率调用BaudRateType里的枚举值,那么就在BaudRateType中添加921600的枚举值:
enum BaudRateType{......BAUD921600}2)BAUD921600底层的调用在win_qextserialport.cpp文件的void Win_QextSerialPort::setBaudRate(BaudRateType baudRate)中,那么我们就添加其对应的case语句:
void Win_QextSerialPort::setBaudRate(BaudRateType baudRate){ ...... /* 921600 baud */ case BAUD921600: TTY_PORTABILITY_WARNING("Win_QextSerialPort Portability Warning: POSIX does not support 921600 baud operation."); Win_CommConfig.dcb.BaudRate=CBR_921600; break;}3)现在,我们需要找到CBR_921600的底层调用,它在Qt安装目录C:\Qt\Qt5.4.0\Tools\mingw491_32\i686-w64-mingw32\include下面的winbase.h文件中:
C:\Qt\Qt5.4.0\Tools\mingw491_32\i686-w64-mingw32\include\winbase.h:#define CBR_110 110#define CBR_300 300#define CBR_600 600#define CBR_1200 1200#define CBR_2400 2400#define CBR_4800 4800#define CBR_9600 9600#define CBR_14400 14400#define CBR_19200 19200#define CBR_38400 38400#define CBR_56000 56000#define CBR_57600 57600#define CBR_115200 115200#define CBR_128000 128000#define CBR_256000 256000#define CBR_460800 460800#define CBR_921600 921600我们只需要添加自己需要的波特率对应的CBR_921600即可。
4)大功告成
4、写到这里,重点是体会到,面对问题时的思考方式。或者是思路,是非常重要的。简单来说就是,多动脑。
0 0
- Qt串口实现921600波特率的方法
- 串口通信过程中更改波特率的方法 C#实现
- 修改2440调试串口波特率的方法
- MSP430设置串口波特率的方法
- 串口自适应波特率的设置方法
- msp430设置串口波特率的方法
- linux下串口非标准波特率的实现
- DSP2812串口波特率正确和良好的设计方法
- MSP430精准配置高速串口波特率的方法
- MSP430精准配置高速串口波特率的方法
- 串口波特率自动检测的一种工程实现:分段特征值匹配
- T1串口波特率的计算方法
- T1串口波特率的计算方法
- 串口的波特率实测【多图】
- CSR MESH修改串口波特率方法!
- 串口波特率
- 【转载】基于VC++的特殊波特率的实现方法
- 关于模拟串口的波特率的分析
- MathType快速编辑公式攻略
- Ubuntu下安装jre8的步骤
- 矩阵学习笔记1
- Autolayout - 1
- android:alpha
- Qt串口实现921600波特率的方法
- 100个iOS开发/设计面试题汇总,你将如何作答?
- c++_primer_exercise_1345
- Vector排序
- Poker UI - 1
- 复杂的json字符串转换为javabean对象
- javascript 作用域链实例
- Autolayout - 2 (sizeClass)
- 遇到的几个算法题