請問如何用BCB經由LPT發出0000,0001,0011之類的單純信號? |
尚未結案
|
Clotho
一般會員 發表:1 回覆:1 積分:0 註冊:2003-11-17 發送簡訊給我 |
|
dotdot
版主 發表:29 回覆:142 積分:64 註冊:2002-08-09 發送簡訊給我 |
相關討論
http://delphi.ktop.com.tw/topic.php?topic_id=35368
http://delphi.ktop.com.tw/topic.php?topic_id=26780
http://delphi.ktop.com.tw/topic.php?topic_id=23183 第二個連結是當初 用人家的driver做實驗的CODE 可以動作
如果你只是要送簡單hi/lo改一改應該夠用 希望對你有幫助^^ =========================
~為了更簡單,必須更複雜~
|
johneyhu
一般會員 發表:6 回覆:7 積分:2 註冊:2003-04-06 發送簡訊給我 |
我之前有用過組合語言的寫法,如果你的系統是Win9X的話可以試試看 //由LPT送出 5V
asm PUSH DX
asm PUSH AX
asm MOV DX,379H
asm MOV AL,00H
asm out DX,AL
asm MOV DX,378H
asm MOV AL,0FFH <--全部皆是1
asm out DX,AL
asm POP AX
asm POP DX Sleep(100); //由LPT送出0V
asm PUSH DX
asm PUSH AX
asm MOV DX,378H
asm MOV AL,0 <--全部皆是0
asm out DX,AL
asm POP AX
asm POP DX =================================
註解
================================== LPT1 LPT2
資料埠 378H 278H
狀態埠 379H 279H
控制埠 37AH 27AH
//事先儲存DX及AX的資料
asm PUSH DX
asm PUSH AX
//將Print Port的狀態埠Address放入DX
asm MOV DX,379H //準備狀態資料存放到AL
將STROBE變成0,使印表机可以接受資料
asm MOV AL,00H //將狀態資料送出到印表機狀態埠
asm out DX,AL //將Print Port的資料埠Address放入DX
asm MOV DX,378H //準備送到印表機的資料存放到AL
asm MOV AL,0FFH //將資料送出到印表機資料埠
asm out DX,AL //回存AX及DX
asm POP AX
asm POP DX //等待100亳秒
Sleep(100); //事先儲存DX及AX的資料
asm PUSH DX
asm PUSH AX //將Print Port的資料埠Address放入DX
asm MOV DX,378H //準備送到印表機的資料存放到AL
asm MOV AL,0 //將狀態資料送出到印表機狀態埠
asm out DX,AL //回存AX及DX
asm POP AX
asm POP DX 試試看吧!希望對你有幫助
|
Clotho
一般會員 發表:1 回覆:1 積分:0 註冊:2003-11-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |