主題:9710 非標準鍵盤的端口掃描函數 如何實現 共有41834人關注過本帖 |
---|
客人 |
1樓 |
9710 非標準鍵盤的端口掃描函數 如何實現 Post By:2014-4-24 16:11:00 [只看該作者]
你好。
我們之前使用的是9161的板子, 現在換用9170的開發板, 把原來的程序移植到9170上。 原來使用9161的時候, 自己做了一個8×8的鍵盤掃描程序, 不是標準鍵盤。 當時你們通過動態鏈接庫的方式,提供了對鍵盤端口的查詢與設置函數, 分別為: /////////////////////////////////////////////////////////////////////////////////////// // 功能描述:返回DIN的8bit狀態。 /////////////////////////////////////////////////////////////////////////////////////// UCHAR DIN( ); /////////////////////////////////////////////////////////////////////////////////////// // 功能描述:設置DOUT的8bit狀態。 /////////////////////////////////////////////////////////////////////////////////////// void DOUT( UCHAR ucValue ); 現在換為9170之后, SDK中沒有相應的函數。 我仔細看了穩定, 沒有找到 DOUT對應的管腳, 而且, 也不能通過ISA總線獲得其值。 看看你們能不能再提供以下這兩個函數的實現方法。 十分感謝。 |
|
單帖管理 | 引用 | 回復 |
客人 |
2樓 |
聯系方式 Post By:2014-4-24 16:14:00 [只看該作者]
忘了留聯系方式了 ,我的郵箱是 250855061@qq.com。
:) |
|
單帖管理 | 引用 | 回復 |
lqk |
3樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2014-4-24 16:55:00 [只看該作者]
針對EM9161,我們做了一個升級板本EM9171,EM9171硬件完全兼容EM9161,可以直接插在你原來針對EM9161做的應用底板上。
下面是EM9171的介紹,供參考:http://www.huochepiao123.com.cn/case/case2014641.html
[此貼子已經被作者于2014-4-24 16:58:29編輯過]
|
單帖管理 | 引用 | 回復 |
yy |
4樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
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編輯過]
|
單帖管理 | 引用 | 回復 |