读取com口接收byte数据的处理】的更多相关文章

procedure Tfrm_CheckCloth.cnrs232ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word); var MyRcvData:Array[..] of byte; ChkStr:string; tmp : Integer; begin move(buffer^,pchar(@MyRcvData)^,); // ChkStr := inttostr(MyRcvData[]* +MyRcvData[…
本文是总结实际项目经验,代码不少是学习别人整合的,效果稳定可靠,有很大参考价值:但是也有不全面的地方,朋友们拿到可以按照自己需要修改. 场景是项目需要在客户端控制台软件和.NET MVC站点间互相传递数据,数据的量比较大,需要对数据进行转化为byte数据,再压缩后发送,接收方需要接收byte数据,再解压缩,还原成数据. 本文既有Web端发送接收数据,也有CS端发送接收数据,内容比较全面. 一.object和byte互转 object和byte互转是基础步骤,实现过程是很简单的,需要用到Memor…
今天收到的一份需求任务是对接硬件,TCP通信,并给出通信端口与数据包格式,如下: 1.首先编写了一个简单的十六进制转byte[]数组与byte[]转换16进制字符串的两个方法,如下: /** * 将十六进制的字符串转换成字节数组 * * @param hexString * @return */ public static byte[] hexStrToByteArrs(String hexString) { if (StringUtils.isEmpty(hexString)) { retur…
最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接收返回数据的方法,不使用DataReceived事件.经过测试,可以正常使用. 一.MachineFactory类 为什么使用工厂类:售货机由不止一个厂家提供,接口协议都不一样. using System; using System.Collections.Generic; using System…
一.背景说明 昨天一个同事让帮忙写个服务,用于接收并返回他那边提交过来的数据,以便其查看提交的数据及格式是否正确. 开始想用django写个接口,但写接口接口名称就得是定死的,他那边只能向这接口提交数据:接收一下就返回这种事情不如直接写个socket监听然后返回去. 以前也没怎么写正经的socket编程,基本是能收发点数据应差不多了,此次收发的数据一多就出了问题. 一是数据没接收完就给客户端发送RST,二是数据没发送完就给客户端发送RST. 二.问题处理 2.1 tcp收发处理 使用s.recv…
1).开发环境VS12,语言C# 2).扫描枪品牌:datalogic 4470 3).通讯协议:串口 1.首先,第一步创建一个新工程,windows窗体应用程序,命名为TestScanner,如下: 2.选择 “工具”-“选择工具箱”,如下: 3.选择"microsoft communication control version 6.0",通过此路径可知其位于64位SysWow64下的ocx控件mscomm32.ocx; 4.从右侧工具箱“组件”中找到串口控件,拖入窗体Form1中…
/// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B','C','D','E','F'}; private static byte[] BITS = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; /// <summary> /// 将字节数组转换为HEX形式的字符串, 使用指定的间隔符 /// <…
http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备端,因为我们的代码是做USB设备用的. 我们需要必须要定义了USB中断.起始在STM32的中断向量表中给USB两个中断,我们可以在stm32f10x.h中找到这两个中断: USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1…
本节目标: 通过DMA,无需中断,接收不定时长的串口数据 描述:当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何来优化?比如四轴飞行器,当在不停地获取姿态控制方向时,又要去接收串口数据.答:使用DMA,无需CPU中断便能实现接收串口数据 1.DMA介绍DMA,全称为: Direct Memory Access,即直接存储器访问, DMA 传输方式无需 CPU 直接控制传输,通过硬件为 RAM 与 I/O 设备…
socket通讯,有两种方式,一种是建立长连接(TCP),建立后,不停的发送,接收.另外一种是建立短连接(UDP),建立连接,发送报文,接收响应,关闭连接.两种方式 server的开销不同. 今天出现问题:不管是创建TCP还是UDP连接,发送数据后,接收到数据的长度均为空值. 我的代码如下: wireshark抓包查看到的结果(有接收到服务发送过来的数据): 运行时查看Loadrunner中打印日志: 多次修改代码后,最后修改接收的buffer 的长度,终于接收到数据…