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

BCB能否 call parallel port Driver 方式去access

尚未結案
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-12 13:37:50 IP:61.222.xxx.xxx 未訂閱
大家好 我有個簡易的Device接在parallel上, 我看過很多資料都是用winio or ntport....之類的driver去實現, (對378加幾加幾去丟inport or outport) 但是我卻幾乎找不到用win32的api去控制, 是問這方面的資料哪邊有呢謝謝... ps 我試過creatfile("LPT1".... writefile... 但這好像是應用於兩個parallel port對接,傳資料用的... 我要的是對data bit (d0-d7),丟位元....給我的device接收 發表人 - taishyang 於 2004/07/12 14:49:49
ATEIN
高階會員


發表:105
回覆:320
積分:125
註冊:2002-07-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-18 22:25:18 IP:211.74.xxx.xxx 未訂閱
不要去丟BIT 而是丟HEX 如:FF 或 0F 或 EF ... 即可解快 DHM
------
ATEIN
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-21 20:45:52 IP:140.124.xxx.xxx 未訂閱
或許你可以試試 DeviceIoControl API,    ========= 從 MSDN 擷取下來的 =============================  
 BOOL DeviceIoControl(
  HANDLE hDevice,              // handle to device of interest
  DWORD dwIoControlCode,       // control code of operation to perform
  LPVOID lpInBuffer,           // pointer to buffer to supply input data
  DWORD nInBufferSize,         // size, in bytes, of input buffer
  LPVOID lpOutBuffer,          // pointer to buffer to receive output data
  DWORD nOutBufferSize,        // size, in bytes, of output buffer
  LPDWORD lpBytesReturned,     // pointer to variable to receive byte count
  LPOVERLAPPED lpOverlapped    // pointer to structure for asynchronous operation
);
============================================ 希望對你有幫助, 加油 !! ^^ =============== 有興趣,就能進步 ===============
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-23 10:55:34 IP:61.222.xxx.xxx 未訂閱
對不起 api 的 write file 好像只能對data port(0x378 0x0)丟資料, 那control port( 0x2)呢?? 找不到耶?
ATEIN
高階會員


發表:105
回覆:320
積分:125
註冊:2002-07-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-17 14:43:12 IP:203.204.xxx.xxx 未訂閱
不需要用CORTROL PORT,只要DATA PORT 即可 CORTROL 一般不需使用... DHM
------
ATEIN
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-25 14:49:46 IP:61.222.xxx.xxx 未訂閱
我的Device會使用到額外的control port的訊號(而且是自訂的,非標準的) 所以一般的指令在傳輸資料時,會自動去拉control訊號,在這裡是行不通的,也就是說,我把它當成是GPIO來用,所以會需要用到data port 和 control port等腳位
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-25 15:10:49 IP:61.66.xxx.xxx 未訂閱
引言: 對不起 api 的 write file 好像只能對data port(0x378 0x0)丟資料, 那control port( 0x2)呢?? 找不到耶?
samho你好 你應該有用過winio吧, 一般我們會把parallel設定在0x378 所以你用winio對0x378 offset讀寫資料即可 就可以實踐在DOS下的效果了 我本身也有用winio對0x378,0x379,0x37A做動作 可以得到正常的結果(如同DOS下用DEBUG測試的結果)
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-25 22:44:55 IP:219.84.xxx.xxx 未訂閱
謝啦 這我當然知道,當初我只是想做到存脆call MS API 去做這些事... 後來只好放棄,用WinIO or Ntport這些外掛的程式...
mier_tt
一般會員


發表:18
回覆:43
積分:12
註冊:2004-12-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-08 11:12:07 IP:218.14.xxx.xxx 未訂閱
hi,samho:     我遇到了和您同樣的問題,我的想法很您一樣,但最終還是不得不對MS API 投降,不知道您用WinIO or Ntport解決沒有,能分享一下嗎?十分感謝!!
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-08 11:36:44 IP:61.222.xxx.xxx 未訂閱
您好 關於winio & ntport網路上有很多的範例和相關資訊可找(用google查一堆), 底下是他們的官方網站. http://www.internals.com/ http://www.zealsoftstudio.com/ntport/ winio不用錢,但是在命令提示字元下(windows下開dos視窗),鍵盤會失效... ntport則不會,但他要錢. 基本上,call他們的driver完全都可以達到上述控制並列埠的功能.
mier_tt
一般會員


發表:18
回覆:43
積分:12
註冊:2004-12-14

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-06-09 10:30:02 IP:218.14.xxx.xxx 未訂閱
hi,samho:     我看過有關WinIo的資料和範例的,我想問的是用WinIo是不是只能解決讀寫I/O port的問題,因為在實際中只是讀寫I/O port,並不能解決全部問題的。 麻煩了,Thanks!!
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-06-09 11:59:58 IP:61.222.xxx.xxx 未訂閱
你是說用winio去控制並列埠嗎? 可以押 一般並列埠的io位址是0x378 0x378是data port 0x379是control port 0x37A是status port 可分別去模擬spp or epp的訊號,達到跟device作通訊和控制的效果. 不知道有沒回答到你的問題,因為 其實我不太了你的問題所在???
mier_tt
一般會員


發表:18
回覆:43
積分:12
註冊:2004-12-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-06-09 13:23:52 IP:218.14.xxx.xxx 未訂閱
我就是要用WinIo去控制並列埠,那怎麼模擬spp or epp的訊號呢?是不是設置comtrol port某几位bit的值就可以了,會不會因為控制晶片的不同而不同呢? 謝謝!
samho
一般會員


發表:10
回覆:19
積分:5
註冊:2002-12-13

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-06-09 14:14:21 IP:61.222.xxx.xxx 未訂閱
您好 以下網頁你看完就會了解如何做了 http://www.beyondlogic.org/spp/parallel.htm http://www.beyondlogic.org/epp/epp.htm ps.該網頁的legacy ports的link有更多參考資料
mier_tt
一般會員


發表:18
回覆:43
積分:12
註冊:2004-12-14

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-06-09 16:01:19 IP:218.14.xxx.xxx 未訂閱
好巧,我剛好也在刊這個網頁,由他Link到其他的網頁,我還找到了一些關於print port的很多API函數︰http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_9qnm.asp,供您參考。多謝!!!
系統時間:2024-04-26 16:40:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!