MX51 GPIO总结

GPIO 寄存器
每组GPIO有8个寄存器:

1. DR: Data Register

当GDIR设置为输出时, 写DR的内容用来驱动GPIO的pins,读DR的内容则返回存储在DR中的值

当GDIR设置为输入时,读DR返回给定IO pin的状态(PSR data),而不是DR data

 

2. GDIR: Data Direction Register

控制GPIO pins的方向, 1作为输出,0作为输入,寄存器中的每一位标识一个特定pad的方向。 仅当相应的pins被设置为GPIO,GDIR才起作用

 

3. PSR:Pad Sample Register

32-bit的只读寄存器。寄存器中的每一位都存储相应pad的值

 

4. ICR1, ICR2: 中断控制寄存器

两个32-bit寄存器, 寄存器中每两位控制一条中断线,ICR1控制中断0~15, ICR2控制中断16~31

00中断是low-level敏感

01中断是high-level敏感

10中断是rise-edge敏感

11中断时fall-edge敏感

 

5. IMR: Interrupt Mask Register

32bit register. 每一位是相应中断线的屏蔽位, 0中断被屏蔽,1中断被使能

 

6. ISR: Interrupt Status Register

32bit register, 每一位用于指定对应的中断线是否有中断发生,当一个中断发生,这个寄存器中的相应位被设置

 

7. EDGE_SEL:Edge Select Register

32bit 寄存器,覆盖ICR寄存器的配置,选择edge 作为中断触发的条件

 

GPIO功能
从pad读取数据

1.  配置IOMUX选择GPIO模式

2.  配置GPIO的GPDR为输入

3.  从PSR寄存器读取数据(也可以从DR读取,此时会返回PSR内的值)

 

写数据到pad

1. 配置IOMUX选择GPIO模式

2. 配置GPIO的GPDR为输出

3. 写值到Data Register(DR)

 

中断控制

除了通用的input/output功能外, GPIO内部的edge-detect逻辑反映一个被配置为input的pad是否发生了状态转换

转自:http://www.61ic.com/MCU/Freescale/MCU/201107/36255.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值