SetLength(StrReceive,BuffeLength);
Move(Buffer^,Pchar(StrReceive)^,BufferLength);
这其中buffer的长度是从哪来的?串口上的值是直接读到buffer上了吗?
buffer上面打箭头是什么意思?
怎样向串口接收的下位机上发送字符?格式是什么样的
Procedure TFComm.Button1Click(Sender:Tobject);
begin
Sbuf[1]:=byte('R');
senddata;
end
就这样可以吗?
sbuf[i1]:=($0f)中$是什么意思?
Move(Buffer^,Pchar(StrReceive)^,BufferLength);
这其中buffer的长度是从哪来的?串口上的值是直接读到buffer上了吗?
buffer上面打箭头是什么意思?
怎样向串口接收的下位机上发送字符?格式是什么样的
Procedure TFComm.Button1Click(Sender:Tobject);
begin
Sbuf[1]:=byte('R');
senddata;
end
就这样可以吗?
sbuf[i1]:=($0f)中$是什么意思?
解决方案 »
- 关于串口接收数据的问题?
- missing connection or connectionstring
- 怎么在程序里取出数据库备份集的日期
- 本科毕业半年了,但是不想搞软件开发了,感觉自己兴趣不在这里,但不知道该做什么,请大家帮我指点一下
- Delphi初学者想买本,大家给点建议!XX
- 纪录插入位置问题,来着有分!!1
- 如何添加图片到数据库,急100分相送,在线等...........
- 怎样自动向局域网同一端口放自己的IP地址 请给予提示
- SQL2000格式化字符串(例如:12.1 格式化成 012.10)
- 请问如何编程控制启动和停止一个2000的服务程序
- 递归算法,求解!
- 我用ADO访问加密的Access为什么连接不上呀??急!!~@!@
>>这其中buffer的长度是从哪来的?
Spcomm 默認的 buffer 是個 char 數組, 長度是 2048;
>>串口上的值是直接读到buffer上了吗?
是的, 你可以這樣理解! 雖然後面還有些處理機制!
>>buffer上面打箭头是什么意思?
buffer在這裹是一個內存指針, 打箭头 表示指向的內存區域;>>怎样向串口接收的下位机上发送字符?格式是什么样的
格式根據自己需要定義!>>sbuf[i1]:=($0f)中$是什么意思?
$ 是十六進制的前導符號, 代表後面的數字是表示十六進制的!
comm1.writecommdata(@sbuf[i],1);
大概如此!!
串口上的值是直接读到buffer上了吗? :接收到的数据放在接收缓冲区
buffer上面打箭头是什么意思? :取地址
怎样向串口接收的下位机上发送字符? :comm1.writecommdata(@sbuf[i],1);pDataToWrite:array[1..20] of char; // 要发送的,转化为字符 pDataToWrite[1]:=chr(byte($D1));
Len:=1;//长度 Comm1.Inx_XonXoffFlow:=false;
Comm1.Outx_XonXoffFlow:=false;
flag:=Comm1.WriteCommData(@(pDataToWrite),Len); dtTmp:=Now;
while ((not (flag)) and ((Now-dtTmp)<(1000 /(24*60*60*1000)))) do //等待1秒试试
begin
Application.ProcessMessages;//处理缓冲区数据
end;格式是什么样的
Procedure TFComm.Button1Click(Sender:Tobject);
begin
Sbuf[1]:=byte('R'); -----:Sbuf[1]:=byte(ord('R'));
senddata;
end
就这样可以吗?
sbuf[i1]:=($0f)中$是什么意思? :得到0f的十进制值 0*16+15=15
pDataToWrite[1]:=chr(ord('b'));
pDataToWrite[1]:=chr(ord('a'));
LDate:=2;
Comm1.Inx_XonXoffFlow:=false;
Comm1.Outx_XonXoffFlow:=false;
Comm1.WriteCommData(@(pDataToWrite),LDate);
dtTmp:=Now;
while ((Now-dtTmp)<(1000 /(24*60*60*1000)))) do
begin
Application.ProcessMessages;
end;