主題:9710 非標準鍵盤的端口掃描函數 如何實現 共有41856人關注過本帖 |
---|
yy |
1樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2014-4-24 17:02:00 [顯示全部帖子]
是的,看手冊,9170只有DIN,沒有DOUT。但是你可以用GPIO來實現DIN和DOUT的功能。這個要看你9170引腳準備用哪些GPIO引腳來做這個功能了。
如果你就用9170的DIN的引腳做DIN,那么可以這么實現 UCHAR DIN()
{
BOOL bRet;
ISA_BUS_BLOCK_ACCESS isa_block;
UCHAR Buf;
DWORD dwLen;
isa_block.dwCmd = 0; // 恒為0
isa_block.dwOffset = 0; //偏移地址為0
isa_block.dwLength = 1; // 讀寫數據塊長度,以字節為單位
sa_block.dwSeg = 2; // 使用ISA_CS2#
isa_block.pBuf = &Buf; // 讀寫數據buffer指針
bRet = ReadFile( m_hISA, (LPVOID)&isa_block, sizeof(ISA_BUS_BLOCK_ACCESS), &dwLen, NULL );
return Buf; } 如果你用GPIO16-23來做DOUT那么可以這樣 void
DOUT(UCHAR ucValue){
BOOL bRet;
unsigned int uBits;
//設置GPIO16-23
b0000 0000 1111 1111 0000 0000 0000 0000
bRet = GPIO_OutEnable(m_hISA, DOUT);
uBits = (ucValue << 16) & DOUT;
bRet = GPIO_OutSet(m_hISA, uBits);
uBits = (~(ucValue << 16)) & DOUT;
bRet = GPIO_OutClear(m_hISA, uBits);
return; } m_hISA是m_hISA = OpenISA_DIO(L"ISA1:");得來的。 這些是一個參考的思路。實際上,我們針對9161的老客戶,弄了個9171,芯片和9170一樣,但是接口完全兼容9161,程序移植比較方便,你可以考慮下。
[此貼子已經被作者于2014-4-24 17:04:32編輯過]
|
單帖管理 | 引用 | 回復 |