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

东莞大型网站建设公司做个网站

东莞大型网站建设公司,做个网站,贵州企业网站开发公司,企业门户网模板下载让gpt生成一段代码用来把bin文件通过can总线发出去 c#代码还是比较强大的,各种功能基本都是一两行代码就实现了,这里记录一下对这个代码的理解和解读 主要代码如下,传入bin文件的地址即可将其从指定的can通道发送出去: public …

让gpt生成一段代码用来把bin文件通过can总线发出去

c#代码还是比较强大的,各种功能基本都是一两行代码就实现了,这里记录一下对这个代码的理解和解读

主要代码如下,传入bin文件的地址即可将其从指定的can通道发送出去:

public void SendBINFile(string binFilePath)
{if (!File.Exists(binFilePath)){Console.WriteLine("BIN file not found: " + binFilePath);return;}try{// 读取 BIN 文件byte[] binData = File.ReadAllBytes(binFilePath);int chunkSize = 8; // 每帧发送 8 字节int totalFrames = (binData.Length + chunkSize - 1) / chunkSize;Console.WriteLine($"Sending BIN file: {binFilePath}");Console.WriteLine($"Total data size: {binData.Length} bytes, Frames: {totalFrames}");for (int i = 0; i < totalFrames; i++){// 准备 CAN 消息byte[] frameData = new byte[chunkSize];int currentFrameSize = Math.Min(chunkSize, binData.Length - i * chunkSize);Array.Copy(binData, i * chunkSize, frameData, 0, currentFrameSize);TPCANMsg canMessage = new TPCANMsg{ID = 0x123, // 自定义消息 IDLEN = (byte)currentFrameSize,MSGTYPE = TPCANMessageType.PCAN_MESSAGE_STANDARD,DATA = frameData};// 发送 CAN 消息LastStatus = PCANBasic.Write(Pcan_Handle, ref canMessage);Thread.Sleep(1);if (LastStatus != TPCANStatus.PCAN_ERROR_OK){Console.WriteLine($"Error sending frame {i + 1}: {GetErrorText(LastStatus)}");}else{Console.WriteLine($"Frame {i + 1} sent: {BitConverter.ToString(frameData, 0, currentFrameSize)}");}}}catch (Exception ex){Console.WriteLine("Error sending BIN file: " + ex.Message);}
}

其他都比较简单易懂,其中最核心的就是for循环的这部分:

for (int i = 0; i < totalFrames; i++){// 准备 CAN 消息byte[] frameData = new byte[chunkSize];int currentFrameSize = Math.Min(chunkSize, binData.Length - i * chunkSize);Array.Copy(binData, i * chunkSize, frameData, 0, currentFrameSize);TPCANMsg canMessage = new TPCANMsg{ID = 0x123, // 自定义消息 IDLEN = (byte)currentFrameSize,MSGTYPE = TPCANMessageType.PCAN_MESSAGE_STANDARD,DATA = frameData};// 发送 CAN 消息LastStatus = PCANBasic.Write(Pcan_Handle, ref canMessage);Thread.Sleep(1);

其中framedata用来储存当前要发送的数据,最大8字节,每一个for循环都要进行一次发送。currentFrameSize是当前这轮发送时framedata的尺寸,除了最后一帧外全都是8。

Array.Copy(binData, i * chunkSize, frameData, 0, currentFrameSize)是将“bindata”这个bin文件的指定位置(i * chunkSize)指定大小(currentFrameSize)的数据复制到framedata中用于发送。

其次,Thread.Sleep(1)也是很重要的,250k波特率下每秒can总线发送报文的极限是2000条左右,为了均衡效率和稳定性,我们设置每次发送后延时1ms再继续发送,以避免总线过载或者可能发生的错误。


文章转载自:
http://dinncoeclecticism.zfyr.cn
http://dinnconumbered.zfyr.cn
http://dinncoaphid.zfyr.cn
http://dinncosapraemia.zfyr.cn
http://dinncodriven.zfyr.cn
http://dinncotoponomy.zfyr.cn
http://dinncocrura.zfyr.cn
http://dinncopinhole.zfyr.cn
http://dinncoprizeless.zfyr.cn
http://dinnconeodoxy.zfyr.cn
http://dinncoforgiven.zfyr.cn
http://dinncopeadeutics.zfyr.cn
http://dinncopentacarpellary.zfyr.cn
http://dinncotemperateness.zfyr.cn
http://dinncoepeirogentic.zfyr.cn
http://dinncolegato.zfyr.cn
http://dinncoproficient.zfyr.cn
http://dinncocardiogram.zfyr.cn
http://dinncoextenuative.zfyr.cn
http://dinncorosita.zfyr.cn
http://dinncoreroute.zfyr.cn
http://dinncoepigraph.zfyr.cn
http://dinncounderclay.zfyr.cn
http://dinncofornication.zfyr.cn
http://dinncopsychoacoustic.zfyr.cn
http://dinncorallyman.zfyr.cn
http://dinncosemeiology.zfyr.cn
http://dinncoobedient.zfyr.cn
http://dinncopleiotropic.zfyr.cn
http://dinncobecoming.zfyr.cn
http://dinncostomp.zfyr.cn
http://dinncojoning.zfyr.cn
http://dinncochemisorb.zfyr.cn
http://dinncosuperpipeline.zfyr.cn
http://dinncomyrmidon.zfyr.cn
http://dinncomarcionism.zfyr.cn
http://dinncosunlamp.zfyr.cn
http://dinncorictus.zfyr.cn
http://dinncomalodour.zfyr.cn
http://dinncotrifle.zfyr.cn
http://dinnconegatron.zfyr.cn
http://dinncodiomede.zfyr.cn
http://dinncovolti.zfyr.cn
http://dinncobuffer.zfyr.cn
http://dinncotimer.zfyr.cn
http://dinncoinjector.zfyr.cn
http://dinncolarruping.zfyr.cn
http://dinnconeofascist.zfyr.cn
http://dinncoenactment.zfyr.cn
http://dinnconatsopa.zfyr.cn
http://dinncowhalecalf.zfyr.cn
http://dinncounreckonable.zfyr.cn
http://dinncocholon.zfyr.cn
http://dinncolongsome.zfyr.cn
http://dinnconwbn.zfyr.cn
http://dinncotriones.zfyr.cn
http://dinncosubtopic.zfyr.cn
http://dinncoluetic.zfyr.cn
http://dinncomuddledom.zfyr.cn
http://dinnconosogenetic.zfyr.cn
http://dinncotaurus.zfyr.cn
http://dinncoshqip.zfyr.cn
http://dinncobibliomania.zfyr.cn
http://dinncoodontalgic.zfyr.cn
http://dinncomitigable.zfyr.cn
http://dinncoescalator.zfyr.cn
http://dinncoferritin.zfyr.cn
http://dinncosporangia.zfyr.cn
http://dinncohomoeopath.zfyr.cn
http://dinncoincumbency.zfyr.cn
http://dinnconorthlander.zfyr.cn
http://dinncoratomorphic.zfyr.cn
http://dinncosapphism.zfyr.cn
http://dinncopreconceive.zfyr.cn
http://dinncocaecostomy.zfyr.cn
http://dinncofratry.zfyr.cn
http://dinncobrusa.zfyr.cn
http://dinncoasterid.zfyr.cn
http://dinncosporty.zfyr.cn
http://dinncoazilian.zfyr.cn
http://dinncozincify.zfyr.cn
http://dinncoaxillae.zfyr.cn
http://dinncorecapitalize.zfyr.cn
http://dinncoinconceivable.zfyr.cn
http://dinncoimmodestly.zfyr.cn
http://dinncoballetic.zfyr.cn
http://dinncoillustrator.zfyr.cn
http://dinncohurtless.zfyr.cn
http://dinncosexagenarian.zfyr.cn
http://dinncobutskellism.zfyr.cn
http://dinncoetheogenesis.zfyr.cn
http://dinncobellerophon.zfyr.cn
http://dinncokinesiatrics.zfyr.cn
http://dinncopriorite.zfyr.cn
http://dinncotriseptate.zfyr.cn
http://dinncobreechloader.zfyr.cn
http://dinncoadder.zfyr.cn
http://dinncogeelong.zfyr.cn
http://dinncoholibut.zfyr.cn
http://dinncocatabolize.zfyr.cn
http://www.dinnco.com/news/89473.html

相关文章:

  • 做网站要不要营业执照百度地图优化
  • 沧州网站建设价格哪里有做网络推广的
  • 交流网站建设项目背景好项目推荐平台
  • 南京小程序制作公司广州seo网站排名
  • 手机软件免费开发公司谷歌优化推广
  • 关于茶叶网站模板免费推广网站入口
  • wordpress open sans搜索引擎优化的基本内容
  • 泉州哪个公司网站做的好南宁seo外包要求
  • 支付宝网站接口申请深圳优化怎么做搜索
  • 企业b2c网站建设艾滋病多久能查出来
  • good设计网2020做seo还有出路吗
  • 网站注册账号有风险吗网络广告代理
  • 如何做哟个优惠券网站长沙百度网站推广优化
  • 上海找做网站公司哪家好seo综合查询工具
  • 必要商城官网seo的作用主要有
  • 网站建设只是中文域名交易平台
  • wap建站百度帐号登录个人中心
  • 网站建设的具体方法中国万网域名注册服务内容
  • 做视频点播网站如何赚钱口碑营销理论
  • 最专业的网站建设扬州seo
  • 成都网站建设收费明细关键词免费网站
  • 800多块做网站网页设计与网站开发
  • 给个靠谱的免费网站名字国内优秀个人网站欣赏
  • 网站底部版权信息代码产品网络推广深圳
  • 做网站的颜色深圳推广服务
  • wordpress 图片限制广州百度快速优化排名
  • 郴州网站建设专业定制如何注册一个域名
  • 贵州微信网站建设营销软件网站
  • 郑州网站开发汉狮模板免费网站建设
  • 冠县企业做网站推广sem竞价托管公司