问题背景

车载终端与外设通讯帧格式

车载终端和外设之间通过串口进行交互数据,数据交互格式这里采用的JT/T-905标准,报文格式如下图:

碰到的问题

1.不能完整读取一条报文,导致部分数据丢失?

原因分析

智能终端没有一个字节一个字节的从串口外设读取数据,而是n个字节的读取,这样就会出现串口外设可能只向tx缓冲区写入了小于n的字节,这时候终端就要读取n字节,返回出现,从而这个有效数据就会丢失。
为了保证数据的安全,建议一个字节一个字节的读取数据,读取错误的时候,等待一会,再继续读,保证每次能完整的读取一个包。

结论

在多设备的交互过程中,需要数据交互的速率问题。每个设备的能力是不一样的,处理数据也不一致。要明白帧格式再数据交互过程中的重要性。帧格式,是指根据不同协议规定的帧的格式。通常由“帧头+数据信息”两部分组成。

参考

  1. https://baike.baidu.com/item/帧格式/5921425?fr=aladdin

出租车智能终端与外设通讯实践相关推荐

  1. Web端即时通讯实践干货:如何让WebSocket断网重连更快速?

    本文作者网易智慧企业web前端开发工程师马莹莹.为了提升内容质量,收录时有修订和改动. 1.引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web的即时通讯应用提供了 ...

  2. Android、Java,关于交通部808协议、905协议、794协议等部标协议、出租车协议、网约车协议、网约车智能终端、出租车智能终端的简要说明

    作为一名有5年车辆网Android智能终端开发经验的入行人,今天跟大家分享一下我在车辆网这一领域的经历和技术.说实话,刚接触协议的时候,我感觉很懵逼,这哪里是Androi开发,简直就是跨行搞java和 ...

  3. android连接usb外设通讯_iOS App连接外设的几种方式

    一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互.很少涉及到去跟外部硬件设备连接的开发.随着近年来车联网和物联网的兴起,智能家居和智能硬件的 ...

  4. android连接usb外设通讯_Android设备使用USB的硬件接口

    最近业界的发展显示,智能手机/便携系统与自动化系统或机械系统之间存在巨大的市场潜力.2011年春季谷歌引入的Android开放访问架构,开启了基于Android操作系统的设备的巨大可能--允许智能手机 ...

  5. tello通信_【我的项目666】+通讯管理(5)modbus-RTU主机

    本帖最后由 story_xjj 于 2018-6-4 12:34 编辑 试用5 Modbus-RTU主机代码测试 在试用4中,我已经成功的将串口设备引出了,接下来可以使用这些串口与外设通讯了. 本次试 ...

  6. 关于java使用javacomm20-win32实践总结 (转)

    由于这几天要通过java调用通过串口或并口连接的硬件资源,所以我就要用到和底层的硬件进行通讯.通过RS-232的通讯协议,了解电脑和外设是怎样进行通讯的.在应用中我们也可以通过JNI来实现(详情请见h ...

  7. STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、图像(硬件IIC)

    参考:基于STM32-Oled(IIC)的使用 作者:奋斗的小殷 发布时间: 2021-05-07 13:09:26 网址:https://blog.csdn.net/boybs/article/de ...

  8. 单片机modbus rtu通讯_【原创】永宏PLC系列RS485通讯方式

    实现的功能,及应用的场合 本项目为弯管机设备改造工程,在不破坏设备原有的功能的情况下通过只更换设备原来的永宏PLC,使弯管机能够与埃斯顿机器人进行信号交互,通过机器人对弯管机进行上料.下料动作,即节约 ...

  9. SPI通讯协议详解 基于STM32

    SPI 协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 (Serial Peripheral Interface),即串行外围设备接口,是 一种高速全双工的通信总线.它被广泛地使用在 ADC.L ...

最新文章

  1. 各种震撼的慢镜头,奇怪的知识又增加了!​
  2. html 使用ajax php函数吗,php – 为什么用AJAX加载html后jQuery更改函数不起作用?
  3. P2619 [国家集训队]Tree I(WQS二分/带权二分/最小生成树)
  4. jhipster项目迁移websocket
  5. onClientClick 和 onClient 区别
  6. 医生c语言测试卷b卷的答案,合肥工业大学C语言期中测试题_B卷
  7. Java内部类手机专卖店_Java:内部类
  8. SpringBoot中的异步操作与线程池
  9. Linux系统管理_ACL访问控制-Redhat Enterprise 5
  10. FreeMarker语言【页面静态】
  11. About “condition variables”
  12. 为Linux安装虚拟PDF打印机
  13. 成年人夜生活的自救! 华熙LIVE·五棵松放大招
  14. 拨号上网和宽带上网的区别分析
  15. 不可不读的百句良言!!
  16. 差动变压器的振动测量实验 思考题
  17. 暴雪这次可真不要脸。。。
  18. 多年锤炼,迈向Kata 3.0 !走进开箱即用的安全容器体验之旅| 龙蜥技术
  19. gdal-ogr2ogr空间数据转换
  20. 如何判断两个IP地址是不是同一个网段(超实用)

热门文章

  1. ECCV 2018 | 腾讯AI Lab 罗切斯特大学合作提出视频再定位任务
  2. 内蒙古中级职称计算机考试时间,内蒙古2021会计中级职称考试时间是如何安排的?...
  3. PS教程:把普通照片,变成高大上的电影海报!
  4. CSDN博客同步更新至简书
  5. 没有离职证明能入职吗(离职证明丢了能入职吗)
  6. 曾经一年有6个月在考核绩效,谷歌最终放弃使用了20多年的“内卷神器”OKR
  7. Kubernetes 网络训练营第2期 | 明晚开课
  8. 实例004计算正方形周长
  9. 见缝插针 一个canvas小游戏
  10. 高分文章信手拈来?这本有望破10分的期刊,国人发文占比过半