视频编码设备hi3531ahi芯片是什么意思不工作查哪些电路?

gpio 玩过单片机的人都应该很熟悉了然而在linux中,gpio操作属于内核层的范畴用户想要直接配置gpio的模式和读取gpio的状态是比较困难的一件事情。那么本文主要讲述如何利用海思sdk已有的资源来实现用户层的gpio操作

首先总的描述一下海思GPIO的配置过程海思的GPIO大多数会含有管脚功能复用。那么步骤如下:
①将GPIOx_x的复用功能寄存器设置为 通用GPIO模式

海思GPIO复用寄存器


②根据管脚名从查找复用寄存器
2.1复用寄存器基地址



'''步驟 1. 参考“管脚复用控制寄存器”配置管脚的相应位,使能需要使用 GPIO 管脚功能。'''
'''步骤 3. 当配置成输入管脚时,读取 GPIO_DATA 寄存器可查看输入信号值;当配置荿输出管脚时,通过向 GPIO_DATA 寄存器写入输出值可控制 GPIO 管脚输出电平'''

①各组管脚GPIO寄存器基地址



当 GPIO_DIR 相应的比特配置为输入时,有效读取的结果将返回管脚的值;当配置为输出的时候,有效读取的结果将返回写入的值。GPIO_DATA 寄存器利用 PADDR[9:2]实现了读写寄存器比特的屏蔽操作该寄存器对应 256 个地址空间。PADDR[9:2]分别对应 GPIO_DATA[7:0],当相应的 bit 为高时,则可以对相应的位进行读写操作;反之,若对应 bit


综合上边所有的资料我们可以写一下伪代码

根据偽代码的理论,我这里写了一份基本上通用的GPIO用户层C++代码


我要回帖

更多关于 hi芯片 的文章

 

随机推荐