全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1197
推到 Plurk!
推到 Facebook!

在 98 下作硬體 IO 的指令

尚未結案
Garfinn
一般會員


發表:2
回覆:1
積分:0
註冊:2003-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-03 23:29:41 IP:61.219.xxx.xxx 未訂閱
各位先進大家好: 我現在正在 98 下寫一個控制儀器之程式需用到 port io 指令 以往是以 Qbasic 所控制, 現要改成 windows 界面... 在 QB 下是 OUT 680, 128 這樣即可... 但是在 Delphi 中我卻無法控制... 有下載了 io.dll 但是什麼動作都沒有... 我想是 io port 搞錯了.. 但是我也不知道正確的 io port 在 98 下要如何得知... 請問各位有經驗的先進我該如何作呢?
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-04 01:50:25 IP:211.74.xxx.xxx 未訂閱
Delphi 可以內含組合語言 當然也可以下I/O 指令 (此法限98/95)    例:
begin
   asm
       // 放入 asm 指令
   end;
end;
procedure OutPortb(Addr:Word ;Data:Byte );
begin
asm
    mov dx,Addr
    mov al,Data
    out dx,al
end;
end;    function InPortb(Addr:Word):Byte;
var
    Value:Byte ;
begin
asm
    mov dx,Addr
    in al,dx
    mov value,al
end;
    Result:=value;
end;    //使用方式
procedure TForm.writeBtnClick(Sender: TObject);
begin
    OutPortb($3e3,$80);
end;    procedure TForm.readBtnClick(Sender: TObject);
var
    c:Char;
begin
    c:=InPortb($3e2);
end;
其餘更多資料可參考 http://delphi.ktop.com.tw/topic.php?topic_id=23307 http://delphi.ktop.com.tw/topic.php?topic_id=23183 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18761 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18989 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18198 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18116 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=17910 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19071 發表人 - ddy 於 2003/04/04 02:10:51
系統時間:2024-04-25 7:40:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!