Hi3516A中GPIO的相关设置

     在海思Hi3516A中,对GPIO的配置可以参考其数据手册,按照其数据手册,可以将GPIO配置成输入或者输出,配置成中断方式触发等,需要用到himm、himd、himc、himd.l等内置命令。

每个管脚可以配置为输入或者输出,具体步骤如下:
1、参考《管脚复用控制寄存器》配置管脚的相应位,使能需要使用的GPIO 管脚功能。

  该步的作用是使管脚复用状态为GPIO使能!


2、配置寄存器GPIO_DIR,选择GPIO 是作为输入还是输出。

    该步的作用是设置GPIO方向。


3、当配置成输入管脚时,读取GPIO_DATA寄存器可查看输入信号值;当配置成输出管脚时,通过向GPIO_DATA寄存器写入输出值可控制GPIO管脚输出电平。

   该步是对GPIO进行读写操作!

 

中断方式的设置过程:


GPIO_IS、GPIO_IBE、GPIO_IEV 三个寄存器共同决定了中断源的特性和中断触发类别。
通过GPIO_RIS和GPIO_MIS分别读取中断的原始状态和屏蔽后的状态。通过GPIO_IE可以控制中断的最终上报情况。此外还提供了单独的GPIO_IC 用于对中断状态进行清除控制。


每个GPIO管脚都可以配置成中断模式,配置步骤如下(以GPIO3_3为例):


1、配置GPIO_IS,选择边沿触发或电平触发。

          himm 0x12143404 0x08 (电平触发)


2、配置GPIO_IEV,选择下降沿/上升沿触发和高电平/低电平触发。

          himm 0x1214340C 0x08  (设置成高电平)


3、如果选择边沿触发,需配置GPIO_IBE,选择单沿或双沿触发方式。

         
4、寄存器GPIO_IC 写0xFF,清中断。

         himm 0x1214341C 0xFF  (清中断)


5、配置GPIO_IE 为1,使能中断。

         himm 0x1214340C 0x08(不屏蔽中断)

注意:初始化过程中GPIO 管脚上数据需保持稳定,以免产生假中断!
GPIO的中断设置由7个寄存器控制。当有一个或多个GPIO管脚产生中断,一个组合中断输出会送到中断控制器。边沿触发和电平触发有以下不同:
边沿触发的中断:软件必需清除该中断以使能更深的中断。
电平触发的中断:外部中断源应该保持该电平直到处理器识别到该中断。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值