新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DELPHI語言在遠(yuǎn)程紅外測溫報(bào)警系統(tǒng)中的應(yīng)用

DELPHI語言在遠(yuǎn)程紅外測溫報(bào)警系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2013-05-29 來源:網(wǎng)絡(luò) 收藏


a)接收數(shù)據(jù)

上位機(jī)采用事件驅(qū)動方式接收數(shù)據(jù)。當(dāng)下位機(jī)傳送一幀數(shù)據(jù)上來輸入緩存時(shí),將觸發(fā)TCOMM 組件的OnReceiveData 事件,對數(shù)據(jù)進(jìn)行接收。然后對接收的數(shù)據(jù)進(jìn)行判斷,分別轉(zhuǎn)相應(yīng)的處理程序。下面是數(shù)據(jù)接收的程序段:

  begin

  try

  count:=form1.Comm1.ReadInputByte(pt);

  if ((count+1) mod 4>0) then

  begin

  form1.Comm1.DataCount:=0;

  exit;

  end;

  for i:=0 to 3 do

  begin

  re[i]:=pt^;

  inc(pt);

  end;

  … //數(shù)據(jù)處理部分

b)發(fā)送數(shù)據(jù)

發(fā)送數(shù)據(jù)采用異步I/O 方式,即將要發(fā)送的數(shù)據(jù)用WriteCommData 方法發(fā)送到寫線程,然后立即返回。該方法所有的操作均在后臺進(jìn)行,如果發(fā)送成功,返回True, 發(fā)送失敗,返回False。下面是發(fā)送數(shù)據(jù)的主要程序段:

  form1.Comm1.PortOpen:=true;

  form1.Comm1.OutputByte(send);

  timedelay(300);

3.4 系統(tǒng)初始化模塊設(shè)計(jì)

本系統(tǒng)初始化部分設(shè)計(jì)程序如下:

  begin

  Position:=poscreencenter;

  form1.Comm1.DataCount:=0;

  form1.Comm1.RThreshold:=1;

  form1.Comm1.PortOpen:=true;//串行口初始化

  form1.sys_ini();//系統(tǒng)參數(shù)初始化

  …

3.5 參數(shù)設(shè)置模塊設(shè)計(jì)

為了系統(tǒng)的操作方便,在菜單中加入了參數(shù)的設(shè)置,可以選擇串行口,選擇通信的波特率等等。

4 結(jié)束語

系統(tǒng)經(jīng)過一個(gè)多月的觀察測試,該軟件系統(tǒng)運(yùn)行穩(wěn)定,使用操作方便,測量精度高。


上一頁 1 2 3 下一頁

評論


技術(shù)專區(qū)

關(guān)閉