当前位置: 首页 > news >正文

股票网站模板 dedecms上饶做网站

股票网站模板 dedecms,上饶做网站,wordpress移动版设置,西安网站开发huanxi前题 前面几篇文章写了关于嵌入式软件开发时#xff0c;关于串行数据处理的一些相关内容#xff0c;有兴趣的可以看看《嵌入式开发#xff1a;软件架构、驱动开发与串行数据处理》、《嵌入式软件开发之生产关系模型》和《嵌入式开发之Modbus-RTU协议解析》相关的内容。从业十…前题 前面几篇文章写了关于嵌入式软件开发时关于串行数据处理的一些相关内容有兴趣的可以看看《嵌入式开发软件架构、驱动开发与串行数据处理》、《嵌入式软件开发之生产关系模型》和《嵌入式开发之Modbus-RTU协议解析》相关的内容。从业十几年深刻感觉到在当前计算机和单片机的架构下处理好串行数据将大大提升软件运行的稳定性。 概述 在物联网设备开发过程中我们可以发现不管是采集传感器数据还是和服务器进行通讯涉及到交互的地方设备间的数据都是以串行的方式进行交互的。下面以读取Modbus-RTU传感器的数据为例报文格式如下 设备处理器以MCU为例基于RS485总线进行交互设备会将打包好的数据放入UART的发送寄存器一次发送一个字节首先发送0x01然后依次发送完成这8个字节的数据现在应用中一般是轮询发送有数据发送时不停判断发送寄存器是否为空为空时将要发送的数据继续放入直到所有数据都发送完中断接收当接收完一个字节数据时产生中断应用程序将接收寄存器中的数据保存下来。发送的过程中有可能被中断也有可能被干扰数据有可能会产生错误码。发送时串口是轮询模式相当于独占了MCU的资源如果RAM足够大的话也可以采用中断发送的模式创建一个发送的环形队列需要发送的数据放入环形队列后触发发送中断发送完成后如果队列中还有数据就继续发送并触发中断直到最后一个数据发送完成这个在这里不展开讲了这里只说处理数据的过程。 接收数据也是在初始化串口时候创建了一个环形队列产生接收中断时就将数据放入环形队列中这里也多说一句老工程师在写代码时经常就是一个buf存放数据在中断中判断超时如果超时了就从中断中推出来然后去解析buf里的数据以前的设备处理的功能比较简单功能也比较单一这么做不会影响啥但是现在的设备串口上挂着很多设备比如我们的产品有一个串口挂着蓝牙通信一个串口挂着4G通信一个串口挂着串口屏再加上这个挂传感器的串口如果一个串口停在中断里其它的串口都有可能会丢数问题会比较严重。 串口中断只负责接收数据相当于这个系统的数据生产者它不管其他模块去怎么消费这些数据。 创建一个任务间隔性的查询环形队列里是否有数据满足最小报文的长度当满足报文长度时开始解析解析时如果队列前面有无效字节需要删除无效字节数然后解析出完整的报文并将完整的报文提取后进行处理等下一个周期再去检查是否接收了完整的数据包环形队列的长度一般要能够满足两三条报文的长度这样避免粘包出现时新数据将老数据冲掉。 解析串行数据需要考虑断包粘包校验错误等问题。在利用生产关系模型将其结构化后这些问题会很好解决。 串行数据开始解析时先从缓存中预提取一定长度数据出来然后开始找报文头确定报文头后就可以将报文头前面无效字节删除然后提取报文长度计算报文校验这里比较关键如果报文长度有问题时比如长度非法或者长度不够一包数据时如何处理长度非法的情况下需要删掉报文头一个字节重新开始查找报文头。如果报文长度不够就不做任何处理退出循环再次判断环形队列的长度待长度满足最小报文长度时继续解析处理。以此类推解析数据不一定要在一个循环里完成要考虑在多次循环重入时怎么解决问题。这样做的另外一个好处就是会增强系统的实时性尽量缩短单次循环处理数据的周期能让大循环的周期尽量的短。 下面提供一组环形队列处理的接口定义仅供参考有兴趣可以发邮件或者留言交流一下 int32_t fifo_init(fifo_t *pfifo,uint8_t *buf,uint32_t size); int32_t fifo_get_free_size(fifo_t *pfifo); int32_t fifo_get_data_size(fifo_t *pfifo); int32_t fifo_del_data(fifo_t *pfifo,uint32_t size); int32_t fifo_read(fifo_t *pfifo,uint8_t *buf,uint32_t len); int32_t fifo_pre_read(fifo_t *pfifo,uint8_t *buf,uint32_t len); int32_t fifo_write(fifo_t *pfifo,const uint8_t *buf,uint32_t len);
http://www.dnsts.com.cn/news/97960.html

相关文章:

  • 塔罗牌手机网站制作杭州精高端网站建设
  • 爱站网关键词挖掘网站建设专员工作职责
  • 网站建设公司 中企动力公司做网站赚钱的点在哪里
  • 企业建设网站的花钱做网站注意什么
  • 小程序企业网站开发wordpress加速教程
  • 什么是网络营销效果评估seo优化易下拉霸屏
  • 地区网站建设高淳seo外包公司
  • 建设图书馆网站企业网站系统源码
  • 网站上传到虚拟主机网站备案为什么要闭站
  • 漯河网站建设服务公司东莞微网站
  • 企业网站建设属于什么费用制作公司网页价钱
  • 什么是交互式网站开发企业公司建设网站
  • 义乌网站建设zisou8wordpress中运行程序
  • 大连金普新区城乡建设局网站网站是否上线
  • 用jsp做网站的技术路线网站seo分析
  • c 做视频网站400电话实名制认证网站
  • 网站的头尾和导航的公用文件打代码做网站的软件
  • 如何做网站logo 设置平滑聚名网怎么样
  • 莒县建设局官方网站cms网站源码
  • wordpress的安装过程爱站seo
  • readme.md做网站自动跳转到wap网站
  • 国外比较好的资源网站外国黄冈网站推广平台
  • 网站开发方式有哪些揭阳网站制作机构
  • 网站域名最便宜这些奥运新闻得了中国新闻奖
  • wordpress 视频网站网站集约化建设 要求
  • 网站建设方案范文8篇网站开发客户
  • 群晖ds1817做网站小程序api抓取
  • 网站建设厘金手指排名十九wordpress sensei插件
  • 企业门户网站设计建设与维护如何挖掘和布局网站关键词
  • 龙华网站建设的软件竞价培训课程