串口通讯编程实例,支持RS232-RS485通讯协议C++
2024/7/6 11:37:30 45KB 串口通讯 RS232 RS485 C++
1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------IEC-60870-5-104:应用模型是:物理层,链路层,网络层,传输层,应用层物理层保证数据的正确送达,保证如何避免冲突。
(物理层利用如RS232上利用全双工)链路层负责具体对那个slave的通讯,对于成功与否,是否重传由链路层控制(RS4852线利用禁止链路层确认)应用层负责具体的一些应用,如问全数据还是单点数据还是类数据等(网络利用CSMA/CD等保证避免冲突的发生)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------基本定义:端口号2404,站端为Server控端为Client,平衡式传输,2Byte站地址,2Byte传送原因,3Byte信息地址。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------注:APDU应用规约数据单元(整个数据)=APCI应用规约控制信息(固定6个字节)+ASDU应用服务数据单元(长度可变)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------APDU长度(系统-特定参数,指定每个系统APDU的最大长度)APDU的最大长度域为253(缺省)。
视具体系统最大长度可以压缩。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------【1个例子】104报文分析BUF序0123456789.10111213141516171819202122M->R:6815100002001E01030001007900000110012413D20A02分析的结果是I(主动上报SOE,主动上报是因为104是平衡式规约)报文头固定为0x68,即十进制104长度15字节(不是6帧的,都是I帧)发送序号=8【控制字节的解析10000200,发送序号:0010H/2=16/2=8】接收序号=1【控制字节的解析10000200,接收序号:0002H/2=2/2=1】0x1E=30即M_SP_TB_1带长时标的单点信息01->SQ:0信号个数:10300->传送原因:[T=0P/N=0原因=3|突发]0100->公共地址:1790000->0x79=121信息体地址:12101->状态:1IV:0NT:0SB:0BL:010012413D20A02->低位10高位01,即0x0110=1*16*16+16=272时标:2002/10/1819:36:00.272
2024/7/5 19:30:53 366KB 104 规约 报文详解
1
使用USB转RS232控制KEITHLEY6485进行测试
2024/6/24 3:17:49 4.56MB KEITHLEY 6485 Labview控制
1
为提高发动机的冷却性能和可靠性,基于Proteus和LabVIEW开发了发动机冷却液温度监控系统。
基于Proteus开发下位机实现对发动机冷却液温度、电压信号、发动机冷却风扇目标转速和实际转速的采集和显示,运用增量型PID控制算法实现冷却风扇转速闭环控制;
基于LabVIEW开发上位机实现每通道数据的曲线实时显示,同时实现数据解析、数据存储、历史数据读取、声光报警等功能。
上位机与下位机通过虚拟串口进行通信,利用C语言编程实现RS232串行通信。
仿真结果表明,该监控系统运行稳定可靠、操作简便,并且具有较强的实用性和扩展潜力,达到预期效果。
该方法可以推广到其他汽车电控仪器、设备的监控系统中应用。
1
为解决弱信号条件下卫星导航接收机的定位问题,采用惯性导航辅助卫星导航的方案,设计构建了一个捷联惯性导航平台。
在这个平台中,选用了美国模拟器件公司生产的采用SPI和I2C数字输出的三轴加速度计ADXL345。
该器件在CPLD的控制下输出数据,与陀螺输出数据一起在单片机中完成组帧,通过RS232串口发往导航计算机,完成捷联计算并向卫星导航提供惯性辅助信息。
ADXL345作为惯性测量单元的核心部件,其工作稳定,使用方便,采用10Hz数据输出率和全比特模式约3.9mg/LSB的分辨率,能够满足系统设计需求。
实验表
1
经常做RS232电路,但是很容易搞反接口,今天做个总结,发上来,方便大家。
RS232接线说明带原理图库和封装库(AD9版本)
2024/5/22 19:42:43 1MB RS232 AD
1
通过Verilog实现了RS232串口通信功能,包括串口的接收和发送,并给出了详细的注释,易于代码的理解,只需针对自己的实际情况稍加修改便可直接使用。
实际上板验证可用
2024/5/21 20:53:12 2KB FPGA Verilog UART 串口通信
1
其中有涉及到的技术有:1.串口发送10进制,16进制数据2.串口接收10进制,16进制数据3.Text文本行字体颜色设置(蓝色字体为串口返回的数据)4.INI配置文件读写操作(保存所有信息,方便下一次启用)5.中文乱码需加  RS232.Encoding=System.Text.Encoding.GetEncoding("UTF-8")里头有两种读取模式,第一种立即读取可用字节,第二种是不断读取(直到换行)这两种模式的不同可以提高调试的容错率,这里是其他串口调试软件没有的。
第二种读取法,是要读取到换行符号才会停止读取,不然会一直阻塞。
当不返回换行符,那可以将程序强行终止
1
德州仪器官方提供的RS232的全部接口,芯片,完善的PCB。
2024/5/17 9:14:28 530KB rs232
1
本代码实现了GUI界面编程,心电信号的采集(RS232串口),数据分析等功能,具有较强的参考价值)。
2024/5/10 6:53:05 2.74MB MATLAB ECG Serial Port
1
共 122 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡