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管脚产生中断,一个组合中断输出会送到中断控制器。边沿触发和电平触发有以下不同:
边沿触发的中断:软件必需清除该中断以使能更深的中断。
电平触发的中断:外部中断源应该保持该电平直到处理器识别到该中断。

你可能感兴趣的:(Hisi)