主题: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编辑过]
|
单帖管理 | 引用 | 回复 |