在Win XP, Win 2000 下, 來控制 I/O, 以並列埠為例 |
|
fnk
高階會員 發表:40 回覆:149 積分:102 註冊:2004-01-02 發送簡訊給我 |
不好意思, 或許這個東西, 大家都知道,
但是, 對於有些人來說, 或許...還是有些幫助的..^^
至少, 在之前, 我是無法達成這樣的目標, 只能在DOS下控制I/O... 在NT, 2000, XP下, 因為作業系統會保護I/O的關係,
我們所寫的程式無法去直接Access 系統的I/O,
因此, 要透過作業系統, 幫我們Access I/O , 主要, 我是去下載一個BCB可以用的component (Active X技術)
接著, 只要安裝完成後, 就可以很簡易地達成 I/O 的控制, 安裝階段~~ Step (1)
先下載這個元件http://www.logix4u.net/inpout32_source_and_bins.zip
有興趣的話可以去這個網站逛逛 http://www.logix4u.cjb.net/
它會說明這個元件的原理, Step (2)
將檔案解壓縮 Step (3)
開啓BCB Step (4)
選擇 Component ==> Config Palette
按下 "Add" 則會出現對話方塊, 要你輸入 page name
輸入 "HardwareIO" (可隨便取) Step (5)
選擇 Component ==> Import ActiveX Control
按下 "Add"
會出現一個對話方塊, 要你輸入 *.ocx
找到剛才你解壓縮的資料匣, 並且到 inpout32_source_and_bins\inpout32_source_and_bins\binaries\ocx 目錄下,
選擇 "hwinterface.ocx" 這個檔案,
之後再 主頁面會有一個 Palette Page 的下拉選單,
選擇你剛才輸入的 "HardwareIO"
並按下 Install, 測試階段~~ Step (1)
開啓BCB Step (2)
選擇HarwardIO Step (3)
拉下 元件到 Form1, 可看到一個 "白底黑色圓形" 的東西出現,
再多拉二個 Button,
並設定 Button1 的事件為
void __fastcall TForm1::Button1Click(TObject *Sender) { Hwinterface1->OutPort(0x378,0xff); }並設定 Button2 的事件為 void __fastcall TForm1::Button2Click(TObject *Sender) { Hwinterface1->OutPort(0x378,0x00); }此時, 你可以接個 LED 在 Parallel Port 上, 當你按下 Button1 時, LED 會亮 當你按下 Button2 時, LED 會滅 或是你可以接示波器在 Parallel Port上來看。 這個元件非常簡單, 只有二個指令, Hwinterface1->OutPort(位址,數值); 數值 = Hwinterface1->InPort(位址); 分享給大家...^^ 發表人 - fnk 於 2004/06/11 07:26:30 |
rong
一般會員 發表:0 回覆:1 積分:0 註冊:2002-07-05 發送簡訊給我 |
|
fffffoooooolll
一般會員 發表:11 回覆:12 積分:4 註冊:2006-11-30 發送簡訊給我 |
|
isspice2845
一般會員 發表:1 回覆:1 積分:0 註冊:2007-01-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |