没有合适的资源?快使用搜索试试~ 我知道了~
linux串口通信
资源详情
资源评论
资源推荐
一、什么是串口通信
串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信
时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为 或者为 。
二、串口通信的分类
串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送
和接收,异步通信是一种利用字符的再同步技术的通信方式。
同步通信
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通
信中的字符帧不同,通常含有若干个数据字符。如图:
单同步字符帧结构
同步数据 数据 数据 数据
字符字符 字符 字符 字符
双同步字符帧结构
同步 同步 数据 数据 数据
字符 字符 字符 字符 字符
它们均由同步字符、数据字符和校验字符()组成。其中同步字符位于帧开头,用于确认数据
字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字
符有 到 个,用于接收端对接收到的字符序列进行正确性的校验。
同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
异步通信
异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传
输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时
钟源彼此独立,互不同步。
接收端检测到传输线上发送过来的低电平逻辑(即字符帧起始位)时,确定发送端已开始发送数
据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
在异步通行中有两个比较重要的指标:字符帧格式和波特率。
字符帧,由起始位、数据位、奇偶校验位和停止位组成。如图:
无空闲位字符帧
奇偶 停 起 奇偶 停 起
校验 止 始 校验 止 始
位 位 位 位
有空闲位字符帧
空 起 奇偶 停 空 闲 位 起
闲 始 校验 止 始
位 位 位 位
起始位:位于字符帧开头,占 位,始终为逻辑 电平,用于向接收设备表示发送端开始发送一
帧信息。
数据位:紧跟在起始位之后,可以设置为 位、 位、 位、 位,低位在前高位在后。
奇偶校验位:位于数据位之后,仅占一位,用于表示串行通信中采用奇校验还是偶校验。
波特率,波特率是每秒钟传送二进制数码的位数,单位是 。
异步通信的优点是不需要传送同步脉冲,字符帧长度也不受到限制。缺点是字符帧中因为包含了起
始位和停止位,因此降低了有效数据的传输速率。
三、什么是
接口(又称 )它是在 年由美国电子工业协会(、网卡接
口、 !"# 接口、$% 接口、扩展坞、 以及六合一读卡器,常用的端口一应俱全。
&'("'
("' 外观上采用了惠普经典的 ')*+,+ -$ 的模具,模具成熟,外观无可挑剔。银白
色的主色调,再经过磨砂处理,视觉效果和触感都相当理想。 ("' 外形方方正正,棱角分明,
同时惠普还颇费心思地在前后采用了倾斜的切割,整个外形更显精细动感。
("' 的端口主要分布在左右两端,右侧有 个 . 接口、 个 接口,
多功能存储卡读取插槽,还有 // 光驱,以及 端口。左侧从后到前分布电源接口、$% 输出
接口、基座扩展接口、 00 网络接口, 个 . 接口,以及 ' 扩展插槽。除此之外,
这款机型同样配备扩展端口,扩展性无疑是相当强大的。
12+-3')!"&
的 系列实际上是 1 系列的经济版本,有人将其形象地表示为“偷工减料版的 14,外形上依然
承袭了 5小黑”一贯的酷。这款 " 顶盖材料采用了 工程塑料,但借助不错的顶盖框架,
强度还是不错的。
" 的端口相对齐全,不仅有 12+-3')! 经典的指定杆,接口上还包括 0 网络接口、两个
. 接口、' 卡插槽、$% 接口、 视频端口,但没有 接口,对经常使用数码产品的
消费者无疑是个坏消息。
五、全双工与半双工
全双工,表示机器可以同时发送数据也可以接收数据,有两个独立的数据通道(一个用于发送,
一个用于接收)
半双工,表示机器不能在发送数据的同时也接收数据。
六、流量控制
使用软件方法
使用特殊 的 字 符 来 标 记 数 据 流 的 开 始 和 结 束 , 比 如 6/77 八 进 制 来标志开始,用
68877八进制 来标志结束。
使用硬件方法
使用 的 1 和 1 信号来代替特殊字符控制。当接收方准备接收更多数据时,设置 1 为
7反之设置成 。对应的发送端准备发送数据时,设置 1 为 。
七、串口的访问
串口设备在 9.6 下与所有设备一样都是通过设备文件来进行访问。
打开串口
9.6 系统下串口设备是通过 :"- 函数来打开的,不过需要注意的是,一般用户是没有权限访问
设备文件的,需要将打开的串口设备的访问权限设置成一般用户可以访问的权限。
:"- 函数
头文件
;+-<,=!"
;+-<,=!"
;+-<,=!"
函数原型
+-> :"-< -><2)?@:)>2-)#"7+-> A)B7@7# !"C># !"@D
参数
< -><2)?@:)>2-)#"要打开文件的文件名称,例如!"*>>E
+-> A)B文件打开方式,可用标志如下:
/C/9F以只读方式打开文件
/CG/9F以只写方式打开文件
/CG以读写方式打开文件
/C''写入数据时添加到文件末尾
/C1如果文件不存在则产生该文件,使用该标志需要设置访问权限位 # !"C>
/C69指定该标志,并且指定了 /C1 标志,如果打开的文件存在则会产生一个错误
/C1.如果文件存在并且成功以写或者只写方式打开,则清除文件所有内容,使得文件长度变
为
/C/11F如果打开的是一个终端设备,这个程序不会成为对应这个端口的控制终端,如果没有该
标志,任何一个输入,例如键盘中止信号等,都将影响进程。
/C/9/H该标志与早期使用的 /C9F 标志作用差不多。程序不关心 信号线的状态,
如果指定该标志,进程将一直在休眠状态,直到 信号线为 。
/CF对 / 进行写等待
返回值
成功返回文件描述符,如果失败返回
例如:以可读写方式打开!"*>>E 设备
+->I!D@文件描述符 @
I!J :"-!"*>>E7/CGC/11F/C/9/HD
关闭串口
9+-=K 系统下通过 <, " 函数来关闭串口设备
<, " 函数
剩余11页未读,继续阅读
cs724112663
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- matrixdb-4.8.13.enterprise-1.el7.x86_64.rpm
- 全自动批量建站快速养权重站系统【纯静态html站群版】:(GPT4.0自动根据关键词写文章+自动发布+自定义友链+自动文章内链+20%页面加提权词)
- 串联式、并联式、混联式混合动力系统simulink控制策略模型(串联式、并联式、混联式每个都是独立的需要单独说拿哪个,默认是混联式RB) 有基于逻辑门限值、状态机的规则控制策略(RB)、基于等效燃油
- 法码滋.exe法码滋2.exe法码滋3.exe
- python-geohash-0.8.5-cp38-cp38-win-amd64
- Matlab根据flac、pfc或其他软件导出的坐标及应力、位移数据再现云图 案例包括导出在flac6.0中导出位移的fish代码(也可以自己先准备软件导出的坐标数据及对应点的位移或应力数据,可根据需
- 拳皇97.exe拳皇972.exe拳皇973.exe
- 捕鱼达人1.exe捕鱼达人2.exe捕鱼达人3.exe
- 医疗骨折摄像检测29-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma数据集合集.rar
- ks滑块加密算法与源代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1