spcomm串口通信 高手请指点:spcomm中的bufferlength是接收数据的长度么?这个长度是按什么来算的。单片机一个字节一个的发数据,怎么存在buffer里阿。和字节之间的间隔有关系么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 tcomm.onrecevicedata(sender:tobject;buffer:pointer;bufferlength:word);//buffer:控件的缓冲区入口指针,控件接收的数据内容保存在组件本身的缓冲区内,这个BUFFER只是一个指针,指向这个缓冲区。TCOMM的缓冲区是一个4096 Bytes的数组,类似这样的数据结构:FBuffer:array [0..4096] of byte;//bufferlength:控件接收的数据长度,是指控件实际接收的字节(byte为单位)数。在接收数据时,串口操作是通过底层API以文件形式操作完成的,接收的数据是按字节保存在了缓存区中,在读取数据时,可以按字节读取的方式来取得所接收的数据。常用的方法如下:onrecedata();var recestr:string; setlength(recestr,bufferlength); move(byte(buffer^),byte(recestr[1]),bufferlength);//内存直接COPY来完成数据读取....... 关于Delphi事件处理问题 这样的查询是用一个组件好还是用两个组见好呢? 如何画正弦曲线?? 超简单SQL问题,各位大哥帮帮忙! 如何取得单元格所用的公式? 何解?????????????经验问题 经验问题 经验问题 ----当场给分 愿送200分!帮我解决以下这个程序的问题所在!!! 200分,高兴散分;再者,大家给个地址 如何将编译后的exe文件尽量小一点? 关于informax的连接 Delphi 7.0 用ADO 操纵Sql server 2000的问题... 怎么判断分区的格式是NTFS的呢?
//buffer:控件的缓冲区入口指针,控件接收的数据内容保存在组件本身的缓冲区内,这个BUFFER只是一个指针,指向这个缓冲区。TCOMM的缓冲区是一个4096 Bytes的数组,类似这样的数据结构:FBuffer:array [0..4096] of byte;//bufferlength:控件接收的数据长度,是指控件实际接收的字节(byte为单位)数。
在接收数据时,串口操作是通过底层API以文件形式操作完成的,接收的数据是按字节保存在了缓存区中,在读取数据时,可以按字节读取的方式来取得所接收的数据。
常用的方法如下:
onrecedata();var
recestr:string;
setlength(recestr,bufferlength);
move(byte(buffer^),byte(recestr[1]),bufferlength);//内存直接COPY来完成数据读取
.......