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

网站宣传推广平台凡科网站后台登陆

网站宣传推广平台,凡科网站后台登陆,大连响应式网站建设,天津河东做网站在做两个串口相互通信的实验中#xff0c;当发送频率快一点时偶尔会遇到以下情景#xff0c;即一次send中把原数据拆成两份发送#xff0c;就会导致CRC校验错误。下图中6字节数据拆成42是把SetRThreshold()阈值设为2#xff0c;当设为1的情况下则会拆成51。 一开始以为是缓…在做两个串口相互通信的实验中当发送频率快一点时偶尔会遇到以下情景即一次send中把原数据拆成两份发送就会导致CRC校验错误。下图中6字节数据拆成42是把SetRThreshold()阈值设为2当设为1的情况下则会拆成51。 一开始以为是缓冲区溢出问题然而并不是。真正的原因出在MFC的COMM组件的OnComm响应函数上即一次发送的报文会被响应两次检测阈值时先会响应阈值后面的数据再次响应。 对于此问题有两种方法 第一种是在报文前后加上固定的包头包尾当数据断开时响应函数分别会收到一个带包头的和一个带包尾的数据将它们拼在一起即可。但这种方法的问题是有可能被截断的数据刚好也同时带有包头包尾因此还需要加一步CRC校验比较麻烦。 第二种方法比较简便思路是延迟接收即OnComm一旦响应后不急着接收数据而是过一段时间再接收则可以保证延迟接收的数据是完整的。 使用第二种方法需要使用MFC的定时器功能步骤如下。 设置定时器 /* comm控件的响应函数 */ void CMODBUS_CRCDlg::OnOnCommMscomm1() {SetTimer(1,50,NULL); //表示1号定时器、计时50毫秒 }使用50ms是因为基本上能保证收到完整的串口数据且大于发送频率。 编写定时逻辑 对选择的类右键ClassWizard找到WM_TIMER并引入响应函数OnTimer。 在OnTimer里编写定时器停止的逻辑。 void CMODBUS_CRCDlg::OnTimer(UINT nIDEvent) {switch (nIDEvent){case 1:receiveData();KillTimer(1);break;default:break;}CDialog::OnTimer(nIDEvent); }nIDEvent表示定时器的id每当满50ms时一号定时器就会触发OnTimer事件设置KillTimer(1)即为触发一次否则将反复触发。 receiveData()为接收数据后所做的处理包括拆包、CRC校验、进行展示等环节。 补Qt遇到类似问题的解决方法
http://www.dnsts.com.cn/news/32744.html

相关文章:

  • 深圳网站建设最专业js调用wordpress文章列表
  • 做网站公司郑州郑州的网站建设公司哪家好前端开发培训学校
  • 网上买保险网站项目建设我先行凝心聚力促发展
  • python做网站内容爬虫wordpress能仿站吗
  • 盐城网站优化苏州网站建设模版
  • saas网站开发做国内学历公证的网站
  • 儿童 网站 设计沈阳专业做网站
  • 织梦如何做英文网站网页设计公司联系方式
  • 网站建设安全问题湖南网站建设 要上磐石网络
  • 吉林网站建设哪家好linux一键安装wordpress
  • 网站设计)wordpress媒体库有错误
  • 石头科技 网站开发福州市住房和城乡建设网站
  • 自媒体交易网站开发最新的购物网站 开
  • 移动端网站开发语言贵阳营销网站建设公司
  • 什么是网站开发与建设个人注册网站
  • 网站做cdn怎么弄百度账号快速注册
  • 江门cms模板建站网站开发人员需要什么技能
  • 网站建设需要知道什么视频互联网推广选择隐迅推
  • 各大网站收录查询自己怎么注册网站
  • 大庆市建设局网站上不去公众号怎么制作滑动照片
  • 廊坊大城网站建设阿里云1m服务器可以搭建网站
  • 蓝色网站源码企业网站的基本要素
  • 深圳网站建设加q479185700网页游戏网站模板
  • 做企业网站要多少钱淮南房地产网站建设网站
  • 网站优化宝云游戏免费平台
  • 古镇建网站公司wordpress 双分页
  • 简约型网站开发西南交通建设集团股份有限公司网站
  • 电商网站开发面临的技术问题给我一个网站好吗
  • 安卓手机网页视频怎么下载廊坊seo扣费
  • 网站开发要网站要能被搜到需要做推广嘛