問上位機控制82c55應(yīng)該如何寫方式字和控制字? 這樣寫的話是什么樣呢? 我看資料上這樣的: CH365WriteIoByte (&mIoBase -> mCh365IoPort[0x03],0x80); 我的電路圖
現(xiàn)在82C55PA口輸出一直是高電平,怎么回事啊
1、您有啟用中斷,D2為什么要下拉? 2、A15腳要接 82C55A 的 RESET 腳 3、寫的語句參考說明書就行了
UCHAR mByte; // 數(shù)據(jù)單元,用于保存從I/O 端口中讀出的數(shù)據(jù)或者準備寫入I/O 的數(shù)據(jù) mPCH365_IO_REG mIoBase = NULL; // I/O 端口基址,設(shè)定為0 則DLL 會自動加上基址 CH365ReadIoByte( & mIoBase -> mCh365IoCtrl, &mByte ); // 先讀取芯片控制寄存器 CH365WriteIoByte( & mIoBase -> mCh365IoCtrl, mByte | mBitAddr15Out ); // A15=1 CH365WriteIoByte( & mIoBase -> mCh365IoCtrl, mByte & ~ mBitAddr15Out); // A15=0 // 上述3 個操作控制A15 引腳輸出高電平脈沖,從而復(fù)位U21(82C55A) CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x03], 0x90 ); // 10010000B // 上述操作設(shè)置8255 的控制字,PA 輸入,PB/PC 輸出 CH365ReadIoByte( & mIoBase -> mCh365IoPort[0x00], &mByte ); // 上述操作從8255 的PA 輸入數(shù)據(jù) CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x01], 0x8E ); // 上述操作向8255 的PB 輸出數(shù)據(jù)8EH
我想用PA口向外寫數(shù)據(jù),應(yīng)該如何控制?寫方式字,控制字等 D2下拉作用是什么?
Aery 能留下你的QQ么,我好容易請教你?
1、PA輸出(PB,PC都輸出) CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x03], 0x80 ); // 10000000B --位4為0,A口輸入 // 設(shè)置8255 的控制字,PA/PB/PC 輸出 CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); // 向8255 的PA 輸出數(shù)據(jù)80H 對82C55A的設(shè)置看您的需求,可以參照82C55A的說明。
2、一般情況下,在D2、D5、D6、D7 引腳上可選地連接下拉電阻,供應(yīng)用程序識別板卡功能。 D3 下拉用中斷,如果您不用中斷,D2,D3都不用下拉。
我的板子上測得WR和RD全都是高電平,用DEBUG365進行讀寫時候也觸發(fā)不了,或者是很多很多次讀寫以后才會出現(xiàn)一次正常,請問這是怎么回事???
我得上位機程序改為 CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 之后,55的PA口還是全高電平。
1、您中斷是怎么用的呢? 2、您用PA輸出,輸入是哪個? 控制字由您的應(yīng)用決定。 3、您的82C55A工作在方式幾? 4、您的CH365第59腳 INT_REQ 接到哪里的? 5、我們建議82C55A的/CS 是接地的。
1.我把中斷取消了 2.PA作輸出,D0-D1是輸入 3.工作方式CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 4.59腳沒有用 5.CS是365控制的,我檢測他一直是低電平
1、輸入輸出端口是PA/PB/PC,用PA/PB/PC來控制輸入輸出,而D0-D7是數(shù)據(jù)總線緩沖器。 2、CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 表示向8255 的PA 輸出數(shù)據(jù)80H, 而不是工作方式 3、建議您參考82C55A的說明書。