关于串口通信经验之谈。

这里并不是简单的发送和接受字符串.

首先,开发环境:PC机,XP系统,使用串口调试助手工具。通信端-ARM嵌入式开发板,LINUX系统。

1.连接物理连线.

2.程序在LINUX下打开串口文件,这里是TTYS0。(现在就已经发送字符串了,但还需要做一些串口属性设置);

3.先设置波特率.(一般小的码率几乎不会出错和丢包).

4.设置屏蔽位.

注:串口通信的精华在此。如果你的程序按照逻辑来说没有问题,但是调试的时候出了问题。多半问题就在属性设置上。例如:只能发收不到或者断字节收。

5.while循环+select可以一直查看串口是否准备好了,有数据则读出。

如何发送自定义协议?

首先先定义你的通信协议,例如协议包组成:关键字,网络标识,长度,数据。为了方便使用你的协议,你可以用SLIP协议,或者别的协议来包装你的协议。

如何发送数据?

发送的数据均为16进制的模式,有些需要转化成网络字节序,16进制的数据包,2位一个字节。

例如:01 02 03 04 05 06 07

ff,每2位是一个字节,一般SLIP协议的一个数据包不超过1006字节。这样接收端就可以根据自定义协议的内容解析包了。

最后,串口通信其实很简单,如果出现怪异的现象,多半是串口属性设置引起的,多尝试即可解决问题。

linux串口通信效率,Linux串口通信经验篇相关推荐

  1. Linux操作系统下的串口通信

    1 Linux操作系统下的串口通信学习笔记   一.什么是串口通信 串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送.使用 串口通信时,发送和接收到的每一个字符实际上都是一次一 ...

  2. Linux裸机开发|UART串口通信

    UART串口通信 不管是单片机开发还是嵌入式Linux开发,串口都是最常用到的外设.可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序.还有很多模块,比如蓝牙.GPS.GPRS等都 ...

  3. 基于linux和qt的串口通信调试器调的设计及应用,基于linux和Qt的串口通信调试器调的设计及应用...

    Q:墼 S ic n Tcnl yI oai ea c nead eho g nvt n rd e o n oH l T技术 基于 I x和 Ot iu n的串口通信调试器调的设计及应用 盂繁磊穆丽红 ...

  4. 查看linux下串口数据库,linux 读串口数据库

    嵌入式开发基础(2) 嵌入式开发基础(2) 一.目标板在开发机(运行桌面Linux系统)和目标板(嵌入式开发板)之间:首先通过RS-232串口线进行连接,其次通过以太网连接线进行连接.通过RS-232 ...

  5. 小车舵机控制linux软件,在Linux(Ubuntu)上使用串口控制ROBOTIS Dynamxiel舵机

    声明:此文档版权归属于北京小芽科技,可以转载,但要声明出处(北京小芽科技博客xiaoyatec.com) 硬件配置: 1.USB2Dynamixel串口模块 2.SMPS2Dynamixel电源模块 ...

  6. Linux uart寄存器读写,Linux下读写UART串口的代码

    Linux下读写UART串口的代码,从IBM Developer network上拿来的东西,操作比較的复杂,就直接跳过了,好在代码能用,记录一下- 两个实用的函数- /** *@brief 设置串口 ...

  7. linux 控制终端卡,配置通过串口控制linux操作系统的终端

    开始之前,请确认机器有串口(com口, RS232接口),如果没有,那就没有办法达到通过串口控制机器的目的了.当然,也可以额外给机器安装一个带串口的 PCI 模块,然后想办法将模块驱动起来(内核默认能 ...

  8. linux串口ttys1,linux ttySx 应用

    这几天,由于多功能温度测量仪项目的需要,涉及到了GSM信息的串口读取,所以在Linux下串口信息的读取有了一点心得体会. 1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作.控制串口 ...

  9. Linux系统编程:串口编程

    Linux系统编程:串口编程 Linux下的串口概述 Linux串口编程 代码解析 编译和测试 代码中的常量介绍 Linux下的串口概述 常见的数据通信的基本方式分为并行通信和串行通信. 1.并行通信 ...

最新文章

  1. rabbitmq常用的五种模型
  2. 【Java语法】关于使用new和不使用new的数组值传递还是引用传递的问题
  3. Spring EclipseLink NoSQL - 使用MongoDB和Oracle NoSQL DB构建
  4. 32f4 usb 升级程序_不断中招的你还放心升级win10吗?wi10近期更新问题及解决办法...
  5. html5shiv主要解决IE6-8 无法识别HTML5的新标签,父节点不能包裹子元素,以及应用CSS样式...
  6. Oracle Rename
  7. jsp校园二手交易平台的设计答辩PPT模板
  8. [转]Linux下的动态连接库及其实现机制
  9. redis常用命令与常用api
  10. 超级计算机app网易,网易有道超级计算器
  11. PS学习笔记-----提示暂存盘满了怎么办???
  12. ppt学习05——配色
  13. Android 设备兼容-[Android_YangKe]
  14. java aspose 给Word添加水印
  15. leetcode33. 搜索旋转排序数组
  16. 干货!STABLE - 一种无监督高鲁棒性图结构学习框架
  17. 计算机在制造业中的应用领域是什么,计算机在制造业中的应用ppt
  18. NR/5G - Measurement, GAP, SFTD
  19. 中国医用器械产业运行状况分析与投资策略研究报告2022-2028年
  20. Arduino音乐频谱

热门文章

  1. 开放域机器阅读理解近期进展-EMNLP2019 SemanticRetrievalMR和GoldEn Retriever
  2. [BUUCTF misc]镜子里面的世界
  3. mysql gtidpurged_Mysql 5.7 Gtid内部学习(五) mysql.gtid_executed表/gtid_executed变量/gtid_purged变量的更改时机...
  4. iOS tabbar不回弹!pop回来 图片文字下移问题
  5. 运营商大数据,三网融合大数据,联通大数据,移动大数据
  6. java手机号码中奖查询,Java实现查询手机号码被标记功能
  7. Day01-数据分析实战-论文数量统计(DataWhale)
  8. Css 文字环绕图片随笔
  9. nuxt 项目部署到 netlify 并绑定https域名
  10. 手机html转换为pdf,html转换为pdf(示例代码)