linux下串口非标准波特率的实现
来源:互联网 发布:免费管理会员软件 编辑:程序博客网 时间:2024/05/16 12:39
转载请注明出处http://blog.csdn.net/beluma123,谢谢!
最近要在linux下使用电脑的串口,而使用的波特率不是诸如9600,19200之类的标准波特率,从网上查找非标准波特率的设置方法,都是说对termios结构体进行设置。按照网上的代码进行设置却不成功。费了很大力气终于找到了原因:原来我的linux版本支持一部分非标准的波特率。下面详细说明
操作系统版本:ubuntu 12.04 LTS 64bit
查看/usr/include/x86_64-linux-gnu/bits/termios.h就有一些非标准的波特率,部分代码如下:
/*一下红色为标准波特率部分,B后面的数字就是波特率*/
#define B50 0000001
#define B75 0000002
#define B110 0000003
#define B134 0000004
#define B150 0000005
#define B200 0000006
#define B300 0000007
#define B600 0000010
#define B1200 0000011
#define B1800 0000012
#define B2400 0000013
#define B4800 0000014
#define B9600 0000015
#define B19200 0000016
#define B38400 0000017
#ifdef __USE_MISC
# define EXTA B19200
# define EXTB B38400
#endif
#define CSIZE 0000060
#define CS5 0000000
#define CS6 0000020
#define CS7 0000040
#define CS8 0000060
#define CSTOPB 0000100
#define CREAD 0000200
#define PARENB 0000400
#define PARODD 0001000
#define HUPCL 0002000
#define CLOCAL 0004000
#ifdef __USE_MISC
# define CBAUDEX 0010000
#endif
/*下面这些就是非标准波特率喽~,B后面的数字就是波特率*/
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
#define B460800 0010004
#define B500000 0010005
#define B576000 0010006
#define B921600 0010007
#define B1000000 0010010
#define B1152000 0010011
#define B1500000 0010012
#define B2000000 0010013
#define B2500000 0010014
#define B3000000 0010015
#define B3500000 0010016
#define B4000000 0010017
使用方法:
源代码中像设置标准波特率那样进行设置即可,只不过是把原来标准波特率的位置替换成上面存在的非标准波特率之一,如:
cfsetispeed(&term,B2000000);
cfsetospeed(&term,B2000000);
(注意:上面代码不完整,请网上搜索设置串口标准波特率的方法)
本方法对上述linux版本有效,其他版本请自行试验之~。
- linux下串口非标准波特率的实现
- linux下非标准波特率的设置和使用
- linux下非标准波特率的设置和使用
- linux中串口如何支持非标准波特率B28800?
- linux中串口如何支持非标准波特率B28800?
- linux设置非标准波特率200000bit/s
- Qt串口实现921600波特率的方法
- 剖析非标准波特率的设置和使用于Linux操作系统中
- 如何在S3C2440上linux操作系统下将串口的波特率提高以致921600
- 串口通信过程中更改波特率的方法 C#实现
- 串口波特率自动检测的一种工程实现:分段特征值匹配
- linux 命令修改串口或USB的波特率
- T1串口波特率的计算方法
- T1串口波特率的计算方法
- 串口的波特率实测【多图】
- linux下使用非标准位置的 第三方库
- linux查看某串口(或串口终端)的波特率等属性
- 串口波特率
- 【需求分析】jQuery EasyUI之Panel
- struts线程安全
- launcher3的hotseat的图标文字处理
- ROS A distributed robot os
- 介绍一些网页常用小图标
- linux下串口非标准波特率的实现
- -走出校门的时候-
- 设置状态栏的文字为白色
- PyUnit
- UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法
- C#获取本地打印机列表,并将指定打印机设置为默认打印机
- zookeeper分布式锁(十)
- Android开发中如何结束所有的activity
- Qt on Android Episode 5(翻译)