在Delphi中用SPCOMM實(shí)現(xiàn)串口編程_第1頁
在Delphi中用SPCOMM實(shí)現(xiàn)串口編程_第2頁
在Delphi中用SPCOMM實(shí)現(xiàn)串口編程_第3頁
在Delphi中用SPCOMM實(shí)現(xiàn)串口編程_第4頁
在Delphi中用SPCOMM實(shí)現(xiàn)串口編程_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——在Delphi中用SPCOMM實(shí)現(xiàn)串口編程先把那個(gè)comm32復(fù)制到你安裝DELPHI的目錄下,然后開啟delphi,在

tools-->environmentoptions-->library-->librarypath中,選擇你方才復(fù)制到的目錄,確

定!

然后再在component-->installcomponent-->unitfilename中,選擇spcomm.pas,確

定就可以了!

在Delphi中用SPCOMM實(shí)現(xiàn)串口編程

Delphi是一種具有功能強(qiáng)大、簡便易用和代碼執(zhí)行速度快等優(yōu)點(diǎn)的可視化快速應(yīng)用開發(fā)工具,它在構(gòu)架企業(yè)信息系統(tǒng)方面發(fā)揮著越來越重要的作用,大量程序員愿意選擇Delphi作為開發(fā)工具編制各種應(yīng)用程序。但是,美中不足之處是Delphi沒有自帶的串口通信控件,在它的幫助文檔里也沒有提及串口通信,這就給編制通信程序的開發(fā)人員帶來大量不便。

目前,利用Delphi實(shí)現(xiàn)串口通信的常用的方法有3種:一是利用控件,如MSCOMM控件和SPCOMM控件;二是使用API函數(shù);三是調(diào)用其他串口通信程序。其中利用API編寫串口通信程序較為繁雜,需要把握大量的通信知識。相比較而言,利用SPCOMM控件則相對較簡單,并且該控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對串口的各種操作,而且還支持多線程。下面本文結(jié)合實(shí)例詳細(xì)介紹SPCOMM控件的使用。

SPCOMM的安裝

1.選擇下拉菜

單Component中的InstallComponent選項(xiàng),彈出如圖1所示的窗

口。

在Unitfilename處填寫SPCOMM控件所在的路徑,其他各項(xiàng)可用默認(rèn)值,點(diǎn)擊OK按鈕。

2.安裝后,在System控件面板中將出現(xiàn)一個(gè)紅色控件COM。現(xiàn)在就可以像Delphi自帶控件一樣使用COM控件了。

SPCOMM的屬性、方法和事件1.屬性

●CommName:表示COM1、COM2等串口的名字;

●BaudRate:根據(jù)實(shí)際需要設(shè)定的波特率,在串口開啟后也可更改此

值,實(shí)際波特率隨之更改;

●ParityCheck:表示是否需要奇偶校驗(yàn);

●ByteSize:根據(jù)實(shí)際狀況設(shè)定的字節(jié)長度;

●Parity:奇偶校驗(yàn)位;

●StopBits:中止位;

●SendDataEmpty:這是一個(gè)布爾型屬性,為true時(shí)表示發(fā)送緩存為空,或者發(fā)送隊(duì)列里沒有信息;為false時(shí)表示發(fā)送緩存不為空,或者發(fā)送隊(duì)列里有信息。2.方法

●Startcomm方法用于開啟串口,當(dāng)開啟失敗時(shí)尋常會報(bào)錯(cuò)。錯(cuò)誤主要有7種:⑴串口已經(jīng)開啟;⑵開啟串口錯(cuò)誤;⑶文件句柄不是通信句柄;⑷不能夠安裝通信緩存;⑸不能產(chǎn)生事件;⑹不能產(chǎn)生讀進(jìn)程;⑺不能產(chǎn)生寫進(jìn)程;

●StopComm方法用于關(guān)閉串口,沒有返回值;

WriteCommData(pDataToWrite:

PChar;dwSizeofDataToWrite:Word)方法是個(gè)帶有布爾型返回值的函數(shù),用于將一個(gè)字符串發(fā)送到寫進(jìn)程,發(fā)送成功返回true,發(fā)送失敗返回false。執(zhí)行此函數(shù)將馬上得到返回值,發(fā)送操作隨后執(zhí)行。該函數(shù)有兩個(gè)參數(shù),其中pDataToWrite是要發(fā)送的字符串,dwSizeofDataToWrite是發(fā)送字符串的長度。3.事件●

OnReceiveData

:procedure

(Sender:

TObject;Buffer:

Pointer;BufferLength:Word)ofobject

當(dāng)有數(shù)據(jù)輸入緩存時(shí)將觸發(fā)該事件,在這里可以對從串口收到的數(shù)據(jù)進(jìn)行處理。Buffer中是收到的數(shù)據(jù),BufferLength是收到的數(shù)據(jù)長度。

●OnReceiveError:procedure(Sender:TObject;EventMask:DWORD)

當(dāng)接收數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí)將觸發(fā)該事件。

SPCOMM的使用

下面是一個(gè)利用SPCOMM控件的串口通信的例子。

以實(shí)現(xiàn)PC機(jī)與單片機(jī)8051之間的通信為例,首先要調(diào)通它們之間的握手信號。假定它們之間的通信協(xié)議是:PC到8051一幀數(shù)據(jù)6個(gè)字節(jié),8051到PC一幀數(shù)據(jù)也為6個(gè)字節(jié)。當(dāng)PC發(fā)出(F0,01,FF,FF,01,F0)后8051能收到一幀(F0,01,FF,FF,01,F0),表示數(shù)據(jù)通信握手成功,兩者之間就可以依照協(xié)議相互傳輸數(shù)據(jù)。

創(chuàng)立一個(gè)新的工程COMM.D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論