计算FlexRay网络节点数据帧头CRC的C言语程序
2022/11/17 15:55:35 186KB FlexRay FrameHeader CRC
1
1.可以根据DBC文件自动解析实时收发的CAN数据2.可以把cantest软件保存的CAN数据(txt文件)进行解析后导出保存3.可以自定义选取某个帧内容显示实时曲线4.可以保存已接收的数据帧5.可以自动发送单个数据或导入文件(按格式)进行调试
2018/11/13 16:33:53 2.35MB USBCAN DBC文件 数据解析 实时数据
1
delphi7写应用程序作为服务端。
delphi7安装websocket组件太麻烦了,还收费。
既然websocket也是一个socket,那本人解析websocket就可以了。
我只实现了握手,数据帧的简单解析。
可以进行除汉字外的简单收发。
如果你应用不是太深的话没问题的。
若是深的话估计这些简单的你都会。



2020/8/16 19:09:25 530KB delphi websoc socket
1
DataScope小软件,内置stm32的支持库,可经过串口给PC端发送特定数据帧,显示波形,最多支持10通道的波形显示
1
(1)按原理图连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一同。
(2)编程:从键盘输入一个字符,将其封装成为数据帧后发送出去,并进行差错检测及奇偶校验,再接收回来在屏幕上显示,实现自发自收。
1
模仿数据链路层的gobackn协议/*该协议是搭载ack的回退n步协议*/#include#include"protocol.h"#definemax_seq7#defineflag126#defineESC100#definewait_time2700 //发送计时器等待的时间#defineack_wait_time280staticintphl_ready=0;unsignedcharbuf[max_seq+1][270];unsignedcharack[8];//发送空的ack帧unsignedcharin_buf[600],last_buf[520];//接收时的缓冲区;去掉冗余之后的缓冲区,为防备因误码两帧合并为一帧而定义了很大一个数组intnbuffered=0;//发送的帧数intbuf_size[max_seq+1];//记下以发送各帧的帧长intnext_frame_to_send=0;intframe_in_phl=0;//用于成帧intframe_expected=0;intack_expected=0;intbetween(inta,intb,intc){ if(((a<=b)&&(b<c))||((c<a)&&(a<=b))||((b<c)&&(c<a))) return1; elsereturn0;}//判断帧尾,防止出现误判escescflag为数据的情况intend_flag(intin_len){ intcount=0; inti; if(in_len=0;i--)//记录flag前的esc数目 count++; returncount%2;//若flag前的esc为偶数,则为帧尾}//成帧函数--数据帧voidsend_frame(char*my_buf,intlen){ intn; buf[frame_in_phl][0]=(frame_expected+max_seq)%(max_seq+1); //ack buf[frame_in_phl][1]=frame_in_phl; //发送帧的帧号 for(n=0;n<len;n++) buf[frame_in_phl][n+2]=my_buf[n]; //将处理过的新帧赋值到缓冲区中 len=len+2; *(unsignedint*)(buf[frame_in_phl]+len)=crc32(buf[frame_in_phl],len); //在原始帧的基础上加检验和 buf_size[frame_in_phl]=len+4; //记录当前帧的长度,包括3个帧头,4个检验和 nbuffered=nbuffered+1; //缓冲区占用数加一 frame_in_phl=(frame_in_phl+1)%(max_seq+1);}//成帧函数--ack帧voidsend_ack() //ack帧的处理{ ack[0]=(frame_expected+max_seq)%(max_seq+1); ack[1]=max_seq+10; //ack帧的序号位,使ack[1]==frame_expected恒不成立 *(unsignedint*)(ack+2)=crc32(ack,2); //在原始帧的基础上加检验和}//主函数intmain(intargc,char**argv){intevent,arg,n,m,i,j,len=0,in_len=0; unsignedcharmy_buf[260]; intphl_wait=0;//在物理层中还没有被发送的帧protocol_init(argc,argv);enable_network_layer();for(;;){event=wait_for_event(&arg);switch(event){caseNETWORK_LAYER_READY:
2019/7/26 21:18:43 425KB go back n gobackn
1
西门子PLC协议对于开发人员协助很大,PLC——TCP协议中规定了初始化字、读写操作数据帧格式等
2017/7/17 21:19:21 400KB PLCTCP协议
1
软件引见:DLT698-45协议调试工具可进行属性操作、方法操作、前置通讯终端登陆及心跳数据帧。
config.iniDLT698-45.exeIniFileOper.dllssInfo.mdb
2015/10/13 15:38:36 532KB 其他资源
1
输出帧的信息(十六进制),就可实现对数据帧的封装!计算帧的长度和进行CRC校验……
2018/5/23 6:42:49 3.46MB C++ IEEE802.3
1
使用Logisim搭建一个除数为四位,原数据帧为8位的CRC校验码计算电路;
一个四位运算单元ALU;
一个GRF;
一个Melay型有限状态机检测串行输入字符串中的能婚配正则表达式b{1,2}[ac]{2}的子串并输出。
2022/9/3 15:40:07 11KB 计算机组成 logisim
1
共 42 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡