2011-07-28 11 views
1

我正在使用ParallelPort與One 電氣設備進行通信。在CPU啓動的原因啓動我的設備連接在ParallelPort?

我的任務ParallelPort是剛剛啓動和停止設備 爲此我編寫了以下代碼: 一個static類別ParellelPort其中包含方法static extern void Output(int address, int value)

public static class ParellelPort 
    { 
     [DllImport("inpout32.dll",EntryPoint = "Out32")] 
     public static extern void Output(int address, int value); 
    } 

使用方法

我做我的情況下ParallelPort東西只是寫1和0

用於啓動和停止設備。 我使用下面的代碼。

private const int PORT_ADDRESS = 0x0378; 
int startMachine = 1; 
int stopMachine = 0; 

ParellelPort.Output(PORT_ADDRESS, startMachine); //For starting Device. 

ParellelPort.Output(PORT_ADDRESS, stopMachine);//For Stoping Device. 

現在我問題是,

每當我開始CPU,它會自動導致起動裝置的並行

端口每次啓動時CPU的寫作。

因此,啓動CPU啓動我的設備我需要擺脫它。

是否有任何方法來禁用ParallelPort或類似的方式來擺脫它。

注:

我使用PIN-2溝通與我的設備。

每次我寫值= 1ParallelPort5伏可在PIN-2和**(這個原因開始我的設備)**

當寫入值= 0 on ParallelPort0伏可在PIN-2(這導致我的設備停止)

每當CPU開始5伏可在每個數據端口引腳PIN-2 PIN-9(這項事業開始我的設備上的CPU啓動時)。

enter image description here

感謝.....

+2

electronics.stackexchange.com –

+0

我有一個邏輯溶液在[這裏] [1] [1]:http://electronics.stackexchange.com/questions/17515/on-cpu- 17518 –

回答

2

計算機硬件的設計會導致重置信號在開機自檢時發送到大多數週邊設備,在軟件中沒有任何事情可以阻止這種情況發生。你所能做的就是設計避免它的設備。

+0

感謝您的回答..但我想在每次啓動CPU時開始寫'Value = 0'的應用程序上Make應用程序的啓動。在'ParallelPort'上,所以它會停止我的設備。 –

+0

@Aryan SuryaWansi - 你不能那樣做。 Periphial Reset在任何操作系統加載之前發生。因此,您無法運行任何應用程序,因爲尚未運行任何軟件。 –

+0

但我的設備在加載操作系統後仍然保持啓動狀態。所以加載操作系統後,我可以啓動我的應用程序,寫入值= 0並行端口,所以我可以停止我的設備.......我認爲這應該工作.......不是嗎? –

相關問題