
VxWorks串口初始化读写
发布日期:2021-05-07 02:33:00
浏览次数:28
分类:精选文章
本文共 1113 字,大约阅读时间需要 3 分钟。
VxWorks串口初始化读写
VxWorks串口设置一般分以下几步
- 打开串口
- 设置串口raw模式,清空输入输出缓冲区
- 设置波特率、数据位、停止位、校验方式
- 开始读写
1. 打开串口
fd = open("/tyCo/0", O_RDWR, 0)
“/tyCo/0” 串口1的设备名,O_RDWR:open for reading and writing
2. 设置串口raw模式,清空输入输出的缓冲区
使用函数’ioctl(int fd, int function, int arg)'这个函数
-
fd : open函数打开的文件描述符
-
function 描述 FIOBAUDRATE 设置波特率,arg为一整数,表示要设定的波特率 FIOGETOPTIONS 取得设备控制字,arg表示读出的内容存放的位置 FIOSETOPTIONS 设置设备控制字,arg表示要设置的选项 FIOGETNAME 取得文件描述符对应的文件名,arg存放文件名的缓冲区 FIOREAD 取得输入缓冲区内未读取的字符数,arg用于接收结果的整型指针 FIOWRITE 取得输出缓冲区内的字符个数,arg用于接收结果的整型指针 FIOFLUSH 清空输入输出缓冲区的字符 FIOCANCEL 取消读和写 ioctl(fd, FIOSETOPTIONS, OPT_RAW);ioctl(fd, FIOFLUSH, 0);
3. 设置波特率、数据位、停止位、校验方式
使用函数ioctl进行设置
int SerialOps = 0;ioctl(fd,FIOBAUDRATE,9600); //9600波特率SerialOps |= CS8;//8数据位,1位停止位,无校验ioctl(fd,SIO_HW_OPTS_SET,SerialOps);//设置
SIO_HW_OPTS_SET(设置硬件选项)是在XXDrv里的function。
SIO_HW_OPTS_SET对应的arg:
SIO_HW_OPTS_SET | arg |
---|---|
CLOCAL | 忽略modem控制信号 |
CREAD | 启动接收器 |
CSIZE | 指定数据位:CS5~CS8 |
HUPCL | 最后关闭时挂断modem连接 |
STOPB | 被设置时指定2位停止位,否则1位停止位 |
PARENB | 被设置时启用奇偶校验,否则不进行奇偶校验 |
PARODD | 被设置时启用奇校验,否则偶校验 |
4. 开始读写
使用读写函数读写
int read( int fd, char * buffer, size_t maxbytes);int write(int fd, char * buffer, size_t nbytes);
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月26日 15时16分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Markdown进阶
2019-03-06
快速指数算法
2019-03-06
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
2019-03-06
PHP将网址快捷方式保存到桌面
2019-03-06
SpringCloud微服务(03):Hystrix组件,实现服务熔断
2019-03-06
Spring 框架基础(01):核心组件总结,基础环境搭建
2019-03-06
JavaEE基础(02):Servlet核心API用法详解
2019-03-06
SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
2019-03-06
结构与算法(03):单向链表和双向链表
2019-03-06
Hadoop框架:MapReduce基本原理和入门案例
2019-03-06
ThreadPoolExecutor线程池任务执行失败的时候会怎样
2019-03-06
Sentry快速开始并集成钉钉群机器人
2019-03-06
Docker 服务
2019-03-06
第一眼就心动的人还怎么做朋友
2019-03-06
Cassandra数据建模
2019-03-06
Elasticsearch Web管理工具
2019-03-06
Git 配置SSH公钥、私钥
2019-03-06
极客时间离线课堂
2019-03-06
Spring Session
2019-03-06
koa2 中间件里面的next到底是什么
2019-03-06