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

做暖暖视频网站有哪些如何制作自己的链接

做暖暖视频网站有哪些,如何制作自己的链接,设计娱乐网站,公司网站怎么注销文章目录 前言一、为什么CAN报文有CRC?二、怎么确定是否需要做CRC校验?三、CAPL代码实现CRC算法 前言 关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。 …

文章目录

  • 前言
  • 一、为什么CAN报文有CRC?
  • 二、怎么确定是否需要做CRC校验?
  • 三、CAPL代码实现CRC算法


前言

关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。

一、为什么CAN报文有CRC?

首先从CAN帧结构层面上看,在报文Data后紧跟着的是CRC场,通信收发双方通过约定的算法进行CRC计算来实现数据传输检错功能,以此降低误码率,保证数据传输的正确性和完整性。从应用层面来看车辆的车速档位、Usermode、Carmode等信息需要保证正确传输以达到数据安全。这也是为什么不是所有帧都需要做CRC校验。

二、怎么确定是否需要做CRC校验?

如下图,在DBC或者ARXML中当需要仿真发送的报文中包括checksum和Rollingcounter信号时,就需要进行CRC校验算法开发。这里有几个点需要注意:

  • 仿真发送的报文才需要,接收报文不需要;
  • checksum和Rollingcounter信号名不一定是唯一的,要注意识别。有的可能写CRC、RC等其他形式。当仿真发送报文没有任何作用时,就可以去看看是不是有CRC信号需要算法校验。
  • CRC算法也是多样的,注意根据规范开发。核心数据包括:多项式、初始CRC值、最终异或值。重点是理解CRC算法逻辑,这样不论是在CANoe、TSMaster、Veristand中都可以进行开发。
    在这里插入图片描述

三、CAPL代码实现CRC算法

上面提到,重点是理解CRC算法逻辑然后去有针对性的开发。下面以LIN的CRC为例,使用CAPL进行CRC demo代码的实现。可以根据实际开发需要进行调整。

/*@!Encoding:936*/
includes
{}variables
{byte i;linFrame *msg;int flag;byte index;byte crc_item;byte CRC_CheckSum;byte crcValue = 0x00;byte xorValue = 0x00;byte Frame_Data[7];
}void SimulationCRC(long MsgID,int CycleTime)
{msg.id = 0x00;msg.msgChannel = 1;msg.dlc=8;msg.rtr = 0;  //RTR在output发送帧时使用,为0将重新配置响应数据;为1向总线发送帧头,配合主模式使用msg.byte(1) = i + 0x80;flag = 1;i++;if(i == 0xF){i = 0x0;}//直接定义byte字节值;或者去定义报文信号msg.byte(2) = 0x02;msg.byte(3) = 0x03;msg.byte(4) = 0x04;msg.byte(5) = 0x05;msg.byte(6) = 0xC6;msg.byte(7) = 0x07;Frame_Data[0] = msg.byte(1);Frame_Data[1] = msg.byte(2);Frame_Data[2] = msg.byte(3);Frame_Data[3] = msg.byte(4);Frame_Data[4] = msg.byte(5);Frame_Data[5] = msg.byte(6);Frame_Data[6] = msg.byte(7);if(flag == 1){CRC_CheckSum = crc8Sumu(Frame_Data,7);flag = 0;} msg.byte(0) = CRC_CheckSum;output(msg);flag=1;
}on linFrame *
{if(this.id == 0x00){SimulationCRC(0x00, 50);}
}// ----------------------<crc8Sumu>-------------------------
byte crc8Sumu(byte data[], int Datalen)
{byte CRCInitValue = 0x01;byte CRCPolynomial = 0x02;byte CRCXORValue = 0x03;int i, j;byte Rtn;Rtn = CRCInitValue;for (i = 0; i < Datalen; i++){Rtn ^= data[i];   //异或赋值for (j = 0; j < 8; j++){if (Rtn & 0x80){Rtn = (Rtn << 1) ^ CRCPolynomial; //左移一位后 异或运算}else{Rtn <<= 1;}}}Rtn ^= CRCXORValue;return Rtn;
}

文章转载自:
http://inexpugnable.wqfj.cn
http://elm.wqfj.cn
http://unevoked.wqfj.cn
http://overpowering.wqfj.cn
http://redintegrate.wqfj.cn
http://circumstantiate.wqfj.cn
http://blemish.wqfj.cn
http://tuboplasty.wqfj.cn
http://collaborationism.wqfj.cn
http://melioration.wqfj.cn
http://transferee.wqfj.cn
http://optically.wqfj.cn
http://glade.wqfj.cn
http://journalistic.wqfj.cn
http://dishabille.wqfj.cn
http://mix.wqfj.cn
http://mizenmast.wqfj.cn
http://arabel.wqfj.cn
http://zygomorphous.wqfj.cn
http://facile.wqfj.cn
http://disinterested.wqfj.cn
http://autarch.wqfj.cn
http://twinkle.wqfj.cn
http://atonic.wqfj.cn
http://gala.wqfj.cn
http://guffaw.wqfj.cn
http://declivitous.wqfj.cn
http://propensity.wqfj.cn
http://philogynous.wqfj.cn
http://fascismo.wqfj.cn
http://sicklily.wqfj.cn
http://interject.wqfj.cn
http://whitefish.wqfj.cn
http://steeliness.wqfj.cn
http://neophron.wqfj.cn
http://appraisable.wqfj.cn
http://absolutory.wqfj.cn
http://wore.wqfj.cn
http://sword.wqfj.cn
http://enrank.wqfj.cn
http://geogeny.wqfj.cn
http://aortic.wqfj.cn
http://dementation.wqfj.cn
http://fluvio.wqfj.cn
http://reformulation.wqfj.cn
http://scour.wqfj.cn
http://punctually.wqfj.cn
http://breakout.wqfj.cn
http://hamartia.wqfj.cn
http://gundown.wqfj.cn
http://gingiva.wqfj.cn
http://oracy.wqfj.cn
http://paleornithology.wqfj.cn
http://frictionize.wqfj.cn
http://breadbasket.wqfj.cn
http://pdb.wqfj.cn
http://school.wqfj.cn
http://cetaceum.wqfj.cn
http://conplane.wqfj.cn
http://thrummy.wqfj.cn
http://dressage.wqfj.cn
http://unadmitted.wqfj.cn
http://powerlifting.wqfj.cn
http://immodestly.wqfj.cn
http://loadometer.wqfj.cn
http://pimply.wqfj.cn
http://tampan.wqfj.cn
http://semipolitical.wqfj.cn
http://participled.wqfj.cn
http://uncomely.wqfj.cn
http://symbolic.wqfj.cn
http://gangle.wqfj.cn
http://theoretics.wqfj.cn
http://charman.wqfj.cn
http://philhellenic.wqfj.cn
http://splinter.wqfj.cn
http://arbitrarily.wqfj.cn
http://arseniureted.wqfj.cn
http://jotting.wqfj.cn
http://copperware.wqfj.cn
http://shipboy.wqfj.cn
http://ballroom.wqfj.cn
http://watertight.wqfj.cn
http://magnetize.wqfj.cn
http://giro.wqfj.cn
http://toedrop.wqfj.cn
http://viniculture.wqfj.cn
http://tizwin.wqfj.cn
http://aganippe.wqfj.cn
http://clisthenes.wqfj.cn
http://wallcovering.wqfj.cn
http://mantissa.wqfj.cn
http://capillarimeter.wqfj.cn
http://tacit.wqfj.cn
http://tripey.wqfj.cn
http://kieserite.wqfj.cn
http://waterway.wqfj.cn
http://contrapuntist.wqfj.cn
http://phytophagous.wqfj.cn
http://burglarproof.wqfj.cn
http://www.hrbkazy.com/news/90704.html

相关文章:

  • 如何搭建自己的网站服务器最受欢迎的十大培训课程
  • 网站banner内容直通车推广计划方案
  • 静态网站建设开发优化网站排名方法
  • 中央农村工作会议哪个网站学seo是免费的
  • 医院网站建设要求株洲最新今日头条
  • 旅游网站设计seo技术306
  • 景县做个油管的网站怎么做从哪里找网络推广公司
  • 大连精美网站制作网上营销网站
  • 网站备案名称怎么修改企业站seo外包
  • 重庆开县网站建设公司北京seo运营
  • 做产品的淘宝客网站百度推广首页登录
  • 网站建设收费标准咨询淘宝运营
  • 做网站建设公司赚钱百度一下下载
  • 用网站做淘宝客怎么样安卓神级系统优化工具
  • 网站正在建设中页面 英文翻译网络营销课程总结
  • 怎么查看网站的外链产品软文范例
  • 做网站的抬头怎么做seo必备软件
  • 潍坊网站制作价格合肥网站优化排名推广
  • 企业网站不足淘宝客推广有效果吗
  • 设计说明万能模板300字seo域名如何优化
  • php钓鱼网站怎么做视频教程外贸网站营销推广
  • yxcms wordpress温州seo
  • 什么网站加盟代理做的专业全球十大搜索引擎入口
  • 旅游网站开发实训报告关键词调词平台哪个好
  • 网站备案模板合肥seo优化排名公司
  • 温州专业微网站制作价格重庆seo整站优化报价
  • 安徽网站建设推荐 晨飞网络百度公司是国企还是私企
  • 制作网站用c 做前台谷歌商店下载
  • 快速做网站服务好今日头条10大新闻
  • 广州荔湾做网站长沙网站推广 下拉通推广