DIO

这篇博文是接着前面的LPC,SIO继续说的,DIO,直接IO口,其作用就是通过和继电器的配合使用以实现控制。

DIO有两种访问方式,一种是ISA的访问方式,一种为IO的访问方式。
ISA的访问方式在前面SIO中已经说明了,接下来需要介绍的是IO的访问方式
先介绍几个相关的寄存器:




我之前所做的dio访问的主板,是利用gpio 8来配置DIO的,不同的主板会有所不同,应该根据电路图以分别。



从寄存器当中可以读出,GPIO8的DIO访问方式地址为基地址加上偏移量0x02。

他的基地址可以通过ru读出来,如图,其基地址为0x02A0。


当然也可以通过对sio进行访问该寄存器,一样可以读出来。


下面说一下关于DIO的三个重要寄存器:








写0x02A2相当于ISA访问方式的0x89写操作
读0x02A2相当于ISA访问方式的0x8A读操作
0x02A2是基地址0x2A0加上GPIO8的偏移量2。
DIO访问方式的部分code如下


在不同类型的主板上,用作DIO的GPIO可能不同,有些GPIO需要对全局寄存器行设置

0x27 bit 5



0x27寄存器为全局寄存器,对其进行配置可以实现device的不同功能,如,需要将gpio8
x作为gpio实现,其寄存器配置应为:


我的程序里面没有配,因为在bios里面已经配置过了,但个人强烈建议,在使用时加上,这样可以避免错误。



Thanks for your reading.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值