Linux 下串口USB等设备通信编程入门2
来源:互联网 发布:ssr软件 编辑:程序博客网 时间:2024/06/10 00:33
1.获取终端设备的波特率属性等
对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。
cfsetospeed函数.头文件: #include <termios.h>
函数原型:
int cfsetospeed(struct termios *termptr, speed_t speed);
参数:
struct termios *termptr - 指向termios结构的指针
speed_t speed - 需要设置的输出波特率
返回值:
如果成功返回0,否则返回-1
cfsetispeed函数
函数原型:
int cfsetispeed(struct termios *termptr, speed_t speed);
参数:
struct termios *termptr - 指向termios结构的指针
speed_t speed - 需要设置的输入波特率
返回值:
如果成功返回0,否则返回-1
cfgetospeed函数
函数原型:
speed_t cfgetospeed(const struct termios *termptr);
参数:
const struct termios - 指向termios结构的指针
返回值:
返回输出波特率
cfgetispeed函数
函数原型:
speed_t cfgetispeed(const struct termios *termptr);
参数:
const struct termios *termptr - 指向termios结构的指针
返回值:
返回输入波特率
波特率常量:
CBAUD 掩码
B0 0波特
B50 50波特
B75 75波特
B110 100波特
B134 134波特
B150 150波特
B200 200波特
B300 300波特
B600 600波特
B1200 1200波特
B1800 1800波特
B2400 2400波特
B9600 9600波特
B19200 19200波特
B38400 38400波特
B57600 57600波特
B115200 115200波特
2.串行数据格式
RS-232属于“异步传输”,在传送数据时,并不需要另外使用一条传输线来传送同步信号,不过必须在每一组数据的前后都加上同步信号,把同步信号与数据混和之后,使用同一条传输线来传输。从低位到高位的一帧数据格式为:
---------------------------------------------------------------------------------------
起始位(Start)+数据位(Data)+奇偶校验位(Parity)+停止位(Stop)
----------------------------------------------------------------------------------------
其中起始位固定为一个比特,停止位则可以是1、1.5或者是2比特(传送与接受一致),数据位可以设置为7、8或者9,奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶校验位可以使用数据中的比特。
- Linux 下串口USB等设备通信编程入门2
- Linux 下串口USB等设备通信编程入门2
- Linux 下串口USB等设备通信编程入门1
- Linux 下串口USB等设备通信编程入门(1)
- linux设备驱动,tty串口编程 如何查看linux下串口是否可用?串口名称等
- linux设备驱动,tty串口编程 如何查看linux下串口是否可用?串口名称等
- Linux下串口通信编程
- Linux下串口通信编程
- Linux 下串口编程入门
- Linux下串口编程入门
- Linux下串口编程入门
- Linux 下串口编程入门
- Linux下串口编程入门
- Linux下串口编程入门
- Linux下串口编程入门
- Linux 下串口编程入门
- Linux 下串口编程入门
- Linux 下串口编程入门
- GCC源码分析(4): 树结点的类型
- 九大隐式对象 笔记
- 小马哥 --------高仿魅族M9手机 6572芯片 开机图面面观
- 博客搬至博客园
- 八款你不得不知的开源前端JS框架
- Linux 下串口USB等设备通信编程入门2
- 新人报道下
- Android 零碎知识点汇总
- centos6.4 python beautifulsoup安装
- CocosEditor-java onContactBegin无反应
- RegexQuery正则表达式源代码
- ‘close’ was not declared in this scope
- 委托和事件的区别
- 问,LINUX AS 6能对一个LV进行动态的增加空间吗?