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

  共有37107人关注过本帖    
客人
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.emtronix.com/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编辑过]

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

返回首页

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

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