c语言sscanf函数的用法是什么
262
2022-11-07
英创信息技术EM9560工控主板专用数字IO的使用介绍
为了充分利用主板宝贵的管脚资源,我们为EM9560的精简ISA总线配置了更加灵活的使用方法,其中一种典型应用是保持精简ISA总线的LCD接口,而精简ISA总线的高位地址和扩展控制线共6位则作为数字输出DOUT0–DOUT5,其具体的对应关系如下:
精简ISA总线 | 专用数字输出 | 简要说明 |
ISA_SA3 | DOUT0 | 上电初始状态为高电平 |
ISA_SA4 | DOUT1 | 上电初始状态为高电平 |
ISA_CS0n | DOUT2 | 上电初始状态为高电平 |
ISA_CS1n | DOUT3 | 上电初始状态为高电平 |
ISA_WEn | DOUT4 | 上电初始状态为高电平 |
ISA_RDn | DOUT5 | 上电初始状态为高电平 |
在上述方案中,由于不再使用精简ISA总线扩展功能,这时系统的IO资源就只有GPIO0-GPIO15、GPIOX0–GPIOX29、以及DOUT0–DOUT5。如果IO资源仍然不够,可通过在精简ISA总线的数据总线上挂接一片简单的总线驱动芯片(如74HCT245),就可获得额外的8路专用的数字输入DIN0–DIN7。具体的电路如下:
上图中,SD0–SD7为精简ISA的数据总线,DIN0–DIN7为外部需要监测的数字输入,而DIN_EN#信号则由ISA_SA2充当。当应用程序进行相应的读操作时,ISA_SA2(即DIN_EN#)将输出低电平脉冲把DIN0–DIN7导入EM9560。
应用程序通过打开“/dev/em9x60_isa”设备驱动文件,通过标准的读写操作就可实现对专用数字IO的读写。具体代码如下:
打开设备驱动程序文件 int fd; fd = open('/dev/em9x60_isa', O_RDWR); // 打开ISA驱动程序
在上述的数据访问中,read / write函数的缓冲区长度必须是unsigned int类型的,否则函数将返回出错。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~