问题:在Linux应用层,直接从/dev/tty***使用read()函数读数据,无法读到,只有在数据末尾加上0a/0d才可以读到数据(这里是发送十六进制的数据,ASCLL码同理,增加回车才可以读到数据)

原因:在linux内核中增加了行缓存的机制,必须出现一个结束符read函数才能从缓冲区里读出数据

解决:

改变termio这个类型定义的结构体变量,改变Linux串口设置参数

termio这个结构体的介绍需要学习的详细参考:https://blog.csdn.net/querdaizhi/article/details/7436722

最简单直接的修改方式,代码如下

#define DEV_NAME  "/dev/ttyPS1"

int *pRS485fd

*pRS485fd = open(DEV_NAME, O_RDWR | O_NOCTTY);

struct termios options;

tcgetattr(*pRS485fd, &options);                 //获得属性

options.c_lflag &= ~(ICANON | ECHO | ECHOE);

tcsetattr(*pRS485fd, TCSANOW, &options);        //设置属性

修改其他的串口参数可以详细参考:https://blog.csdn.net/michaelcao1980/article/details/52383910

linux 串口 换行十六制,关于嵌入式linux下的串口通讯问题---需增加回车/换行才能接收...相关推荐

  1. java integer转成负数_Java 十进制和十六制之间的转化(负数的处理)

    在一些情况下,我们需要将数字在十进制和十六制下互相转化. 在Java中将十进制转化成十六进制非常的简单. int var = 324; String hex = Integer.toHexString ...

  2. linux课程_【课程完结】嵌入式Linux应用/驱动开发基础知识两大篇章已全部录制完毕 共72集...

    完结撒花 <第四篇嵌入式Linux应用开发基础知识> <第五篇嵌入式Linux驱动开发基础知识> 两大篇章已全部录制完毕 共计 72 集 01 嵌入式Linux应用开发基础知识 ...

  3. 《Reids 设计与实现》第十六章 集群(下)

    <Reids 设计与实现>第十六章 集群(下) 文章目录 <Reids 设计与实现>第十六章 集群(下) 七.复制与故障转移 1.设置从节点 2.故障检测 3.故障转移 4.选 ...

  4. 嵌入式linux零基础培训,零基础精通嵌入式linux系统有那么容易吗

    嵌入式linux系统让你从入门到精通,新手必备学习技术你要不要来试试.对于新手来说,嵌入式linux系统应该如何更快更好的学习,首先可以告诉你:你要有C语言基础,看你走哪方面,看是底层系统还是应用层开 ...

  5. 嵌入式Linux驱动笔记(十六)------设备驱动模型(kobject、kset、ktype)

    ###你好!这里是风筝的博客, ###欢迎和我一起交流. 前几天去面试,被问到Linux设备驱动模型这个问题,没答好,回来后恶补知识,找了些资料,希望下次能答出个满意答案. Linux早期时候,一个驱 ...

  6. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  7. 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...

  8. 伙伴系统之避免碎片--Linux内存管理(十六)

    原文链接:https://blog.csdn.net/gatieme/article/details/52694362 日期 内核版本 架构 作者 GitHub CSDN 2016-09-28 Lin ...

  9. 从零开始之驱动发开、linux驱动(十六、poll机制)

    上一节分析了系统调用函数的封装,这一节我们学习一下poll系统调用函数.就从最开始的sys_poll开始. 在开始之前我们先了解一下poll函数的作用. 使用下面命令查看poll的使用方法和作用可知 ...

最新文章

  1. linux 下/proc/cpuinfo三级缓存,linux /proc/cpuinfo文件分析
  2. JSR303(Bean Validation 1.0)
  3. 车载全景可视系统surroundview
  4. 初始python(二)
  5. 一款IDEA插件神器,帮你一键转换DTO、VO、BO、PO、DO
  6. PostgreSQL在何处处理 sql查询之四
  7. 集合中存储自定义对象源代码
  8. 音视频技术开发周刊 75期
  9. Spartacus同SAP Commerce Cloud交互的示意图
  10. JS-函数(调用返回值)-形参实参-作用域
  11. Gatling性能测试(一)
  12. python输入时间_一文搞懂python日期时间处理
  13. NYOJ760-See LCS again,有技巧的暴力!
  14. Unity读取内部、外部资源详解
  15. 5个值得收藏的视频下载网站
  16. python 简单快速爬取豆瓣电影热播名单
  17. python有没有网页版的pyqt_Python PyQT Web浏览器书签
  18. java中的方法基础
  19. 电池BMS软件架构设计和电池安全标准及测试
  20. RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法

热门文章

  1. word 从指定页开始页码设置
  2. java 返回json乱码_java返回json数据中文乱码解决方案
  3. JDK1.8新特性(Stream流)
  4. WindowsUpdate检查更新报错,错误码8024402F
  5. C# VS2017运行极光官网V1.1.0Deom
  6. [补题]牛客练习56,迷宫【orz】
  7. REST On Rails
  8. 网页设计_5·乐视商城
  9. 换手率是否需要中性化?
  10. c99什么意思_C语言中“=,=,=,^=,|=”分别表示什么意思?请举例说明