DELPHI MSCOMM 串口通讯接收数据延时如何设置 5
4个回答
展开全部
换成spcomm吧 好处理些
至于接收判断
1 是判断数据的有效性 如果根据规约没有接收完 那就等待
2 是有的控件本身有设置,间隔XX ms之内的数据都当做一帧来接收
如果非要用你说的延时方法,每次接收数据就记录在数组里
那我用个傻办法吧
方法1
每次接收数据都记录接收的时间 T1
然后在定时器里设置间隔为N毫秒 定时判断当前时间和T1的间隔
如果间隔大于XX毫秒 就取接收的数组作为接收的数据。
方法2
用while等待 也记录接收时间 判断多少时间没有接收到数据 就停止接收
while循环中可以用delay延时
procedure Delay(const uDelay: DWORD);
var
n: DWORD;
begin
n := GetTickCount;
while ((GetTickCount - n) <= uDelay) do
Application.ProcessMessages;
end;
至于接收判断
1 是判断数据的有效性 如果根据规约没有接收完 那就等待
2 是有的控件本身有设置,间隔XX ms之内的数据都当做一帧来接收
如果非要用你说的延时方法,每次接收数据就记录在数组里
那我用个傻办法吧
方法1
每次接收数据都记录接收的时间 T1
然后在定时器里设置间隔为N毫秒 定时判断当前时间和T1的间隔
如果间隔大于XX毫秒 就取接收的数组作为接收的数据。
方法2
用while等待 也记录接收时间 判断多少时间没有接收到数据 就停止接收
while循环中可以用delay延时
procedure Delay(const uDelay: DWORD);
var
n: DWORD;
begin
n := GetTickCount;
while ((GetTickCount - n) <= uDelay) do
Application.ProcessMessages;
end;
展开全部
你可以写个while循环,直到接收到停止位的时候再进行操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
何谓接收数据延时
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询