線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3665
推到 Plurk!
推到 Facebook!

為何剛開始無法控制 printer port 的狀態 ?

答題得分者是:DavidLo
Just4U
初階會員


發表:38
回覆:56
積分:28
註冊:2002-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-19 12:18:05 IP:211.74.xxx.xxx 未訂閱
開機進入 Windows XP 後只執行一行指令將 control register(37AH) = 01H (bit 0 = 1), 此時 pin 0 反向變成 L 是正確的, 但一下子又變回 H, 為何狀態會自己改變呢? 即使開機進入 Windows XP 後經過很長時間(數小時)再執行這行指令, 結果依然相同. 不懂, 大大們指導一下, 謝謝!!!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-21 08:18:21 IP:203.203.xxx.xxx 未訂閱
你所謂的pin 0 應該是print port的pin 1吧? 37AH=01H => 通知印表機有資料要輸出, 此時閃控訊號線(也就是Pin 1)會輸出一個低電壓脈衝告知印表機有資料要輸出. 因此你會看到它變成Lo, 一下子又變成Hi. 這是正常現象.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-22 00:02:23 IP:218.169.xxx.xxx 未訂閱
在window系統下,列印管理員(printer or spooler manager)應該隨時在控管印表埠,故想要去做Register level命令,可能有誤.
Just4U
初階會員


發表:38
回覆:56
積分:28
註冊:2002-03-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-26 10:08:32 IP:211.74.xxx.xxx 未訂閱
1. 我只是想把 printer port 當 GPIO 來用, 有沒有辦法可以關閉列印管理員對一般印表機的信號回應, 讓我填入 register 就可以在 pin 得到對應的值呢? 2. 有關狀態會恢復的問題, 好像十幾次以後就正常了. 3. 而且好像只有 Windows XP 會這樣, Windows 98/2000 並不會. 謝謝!!! 發表人 - Just4U 於 2005/09/26 10:30:24
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-26 21:24:27 IP:220.139.xxx.xxx 未訂閱
Dear Sir! This is found on the internet!
Q: If a logic 1 is written to the Control Port, bit 0, (Strobe), the PC clears all of the port bits once every five seconds for about a minute.    A: Some versions of Windows XP look for devices by periodically writing to the port. A registry key can disable this behavior.     The following registry setting disables the port writes:    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001    The following registry setting enables the port writes:    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000000    You can make these changes in Windows' regedit utility. Or to make the changes automatically, create and save the following text files:    DisableWarmBoot.reg contains the following text:    Windows Registry Editor Version 5.00    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001    EnableWarmBoot.reg contains the following text:    Windows Registry Editor Version 5.00    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000000    To change a registry key, run the program.     As always, use caution when working with the registry, which contains critical values for configuring and running the PC.    After making a change, reboot the PC.    Disabling the port writes can also eliminate port timeout errors received in some applications.    
我的作業系統不是WinXP,無法測試!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-09-26 22:41:36 IP:203.203.xxx.xxx 未訂閱
Xp 有模式問題, 要把它設為雙向模式才能像一般I/O用. 可以去BIOS設定.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
Just4U
初階會員


發表:38
回覆:56
積分:28
註冊:2002-03-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-09-27 15:28:11 IP:211.74.xxx.xxx 未訂閱
引言: Q: If a logic 1 is written to the Control Port, bit 0, (Strobe), the PC clears all of the port bits once every five seconds for about a minute. The following registry setting disables the port writes: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters] "DisableWarmPoll"=dword:00000001 The following registry setting enables the port writes: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters] "DisableWarmPoll"=dword:00000000
1 min / 5 sec = 12, 和我的情況似乎相同 我執行 regedit 在底下2個環境, Windows 2000/Registry Editor Version 5.0 Windows XP/Registry Editor Version 5.1 但KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport2者都找不到 Parameters 這個參數 請問是我會錯意了嗎? 請再指教一下, 謝謝!!!
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-09-27 20:53:30 IP:218.169.xxx.xxx 未訂閱
Hi! 文中有 "A registry key can disable this behavior." 那就自行建立此Register Key去啟動關閉此功能.

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-09-27 23:19:35 IP:203.203.xxx.xxx 未訂閱
若你是在ECP mode, 還須去設定ECR register.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
Just4U
初階會員


發表:38
回覆:56
積分:28
註冊:2002-03-27

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-09-28 18:10:59 IP:211.74.xxx.xxx 未訂閱
引言: 文中有 "A registry key can disable this behavior." 那就自行建立此Register Key去啟動關閉此功能.
謝謝!!! 我已經在程中加入到對這個參數的 Add/Read/Write, 目前都還OK, 只是改了設定之後, 都要重新開機才有效, 是否有馬上可以使設定生效的方法?
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-09-28 21:32:45 IP:220.139.xxx.xxx 未訂閱
那你可能要請Microsoft增加此功能!
Just4U
初階會員


發表:38
回覆:56
積分:28
註冊:2002-03-27

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-09-29 14:31:14 IP:211.74.xxx.xxx 未訂閱
引言: 那你可能要請Microsoft增加此功能!
喔! 再次致謝!!! 因為我想在程式裡作這些事, 所以版主大大的方法我沒去試.
系統時間:2024-04-25 11:58:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!