- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硬件的简单使用与驱动开发入门
——部分内容来自《linux设备驱动开发详解》
与韦东山的《嵌入式Linux应用开发完全手册》
Linux API Developing Department
lishiwen4@ 李仕文
武汉理工大学开源技术协会
一.GPIO硬件介绍:
GPIO (General Purpose I/O Ports通用输入/
输出 或总线扩展器利用工业标准 、
) I2C SMBus™
或SPI™接口简化了I/O口的扩展。当微控制器或
芯片组没有足够的I/O端口,或当系统需要采用远
端串行通信或控制时,GPIO产品能够提供额外的
控制和监视功能。
通俗地讲,就是有一些引脚,可以通过它们输
出高 低电平,或者,读入引脚状态 是高电平
/ ——
还是低电平。
GPIO的操作是所有硬件操作的基础,由此扩
展开来可以了解所有硬件的操作,这是底层开发
人员必须掌握的。
通过寄存器来操作GPIO引脚:
既然一个引脚可以用来输入,输出或其他的特
殊功能,那么一定有寄存器来选择这些功能;对
于输入,一定可以通过读取某个寄存器 来确定引
脚的电平是低还是高;对于输出,一定可以通过
写入某个寄存器来让这个引脚输出高电平或者低
电平。对于其他的特殊功能,则有另外的寄存器
来控制它。
对于这几组GPIO引脚,他们的寄存器是相似
的,GPxCON用来选择寄存器引脚功能,
GPxDATA用于读写引脚数据;GPxUP确定是否
使用内部上拉电阻 。X为 A,B,C,…… H/J没有
GPAUP寄存器。
GPxCON 寄存器:
用于配置引脚功能(Configure),
PORT A 与 PORTB~PORT H/J 在功能选择上有
所不同,GAPACON 中每一位对应一根引脚,共
23 个引脚。当某位被设为 0 时候,其为 输出引
脚。此时我们可以再GPADAT 中相应的写入 1或
者 0 来让此引脚输出高电平或者低电平;当某一
位为1时,相应引脚为地址线或用于地址控制,此
时,GPADATA无用,一般而言 GPACON 通常被
设为全1,以便访问外部存储器件。
PORT B ~ PORT H/J 在寄存器操作方面完全
相同。GPxCON中每两位控制一根引脚, 00 表
示输入,01表示输出,10表示特殊功能,11保留
不用。
GPxDAT 寄存器: GPxDAT用于读写引脚,当
引脚被设为输入时候,读此寄存器可知道相应引
脚的电平状态高还是低,当引脚被设为输出时
候,写此寄存 器的位,可令引脚输出高电
平还是低电平。
GpxUP寄存器: GpxUP寄存器某位为1的时
候,相应管脚没有上拉电阻;为 0 时候
相应管脚有上拉电阻。 上拉电阻作用在于,
当GPIO 引脚处于第三 种状态时候,既不是
输出高电平,也不是输出低电平。而是呈现高阻
态,相当于没 有接芯片。它的电平状态由上下
拉电阻决定。
文档评论(0)