主题:9710 非标准键盘的端口扫描函数 如何实现

  共有37106人关注过本帖    
帅哥哟,离线,有人找我吗?
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编辑过]

  单帖管理 | 引用 | 回复 回到顶部

返回首页

9710 非标准键盘的端口扫描函数 如何实现

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: