海思 GPIO实际操作举例

现在对海思Hi3516A的GPIO具体操作做一个举例,该例子是对GPIO3_3的管脚进行输出操作,具体步骤如下:

 

首先,需要配置其为GPIO3_3管脚功能,参照管脚复用表,对其进行设置,我的即是对0x1204006C进行写0操作:

 

muxctrl_reg27

管脚复用寄存器。

0x1204006C

0

管脚复用关系选择
0 : GPIO3_3
其它:reserved

 

然后,该接口连接的为GPIO3_3,通过芯片手册,查到GPIO3的基地址为:0x12143000,设置GPIO3_3的方向为输出,然后对该引脚进行输出高低电平的操作即可。

 

   在进行方向控制时,对应的寄存器的偏移地址为0x400,当对应位设置为1时为输出,对应位设置为0时为输入。

海思 GPIO实际操作举例_第1张图片

 对其进行输出高低电平的控制,对于GPIO3_3对应的地址为0x12143020,对应的数据位为第3位,对其进行写1即可输出高电平,写0即可输出低电平。整体的控制命令如下:

 

海思 GPIO实际操作举例_第2张图片

海思 GPIO实际操作举例_第3张图片

himm 0x1204006C 0x0   //设置复用功能为GPIO3_3

海思 GPIO实际操作举例_第4张图片

 

himm 0x12143400 0xFF  //设置GPIO3_3方向寄存器为输出

 

海思 GPIO实际操作举例_第5张图片

 

himm 0x12143020 0x08  //设置GPIO3_3管脚为高电平

海思 GPIO实际操作举例_第6张图片

 

此时实际测量的电压值为3.3V,为高电平,与预期的结果一致。

 

himm 0x12143020 0x00  //设置GPIO3_3管脚为低电平

 

海思 GPIO实际操作举例_第7张图片

 

此时实际测量的电压值为0.18V,为低电平,与预期的结果一致。

 

你可能感兴趣的:(Hisi)