一、GPIO拉高拉低操作
以GPIO2_7为例
地址(0xF8B2_2400)= 基地址(0xF8B2_2000)+ 偏移地址(0x00000400)
①把GPIO2_7管脚复用设置为IO模式
himm 0xF8B2205C 0x00(0xF8B2205C = 基地址0xF8B2_2000 + 偏移地址0x05C)
②设置GPIO2_7为输出模式
himm 0xF8B22400 0x80 (0xF8B22400 = 基地址0xF8B2_2000 +偏移地址0x400)
对GPIO2_7拉高拉低
图中意思为GPIO2_7 为 0b10_0000_0000 = 0x200
③对GPIO拉高
himm 0xF8B22200 0x00 (0xF8B22200 = 基地址0xF8B2_2000 +偏移地址0x200 )
④对GPIO拉低
himm 0xF8B22200 0xFF (0xF8B22200 = 基地址0xF8B2_2000 +偏移地址0x200 )
二、PWM调整占空比,频率
配置海思HI3798M PWM1(GPIO2_1)
①IO口复用:
命令:himm 0xF8A21044 0x00000130
②频率,占空比配置(以频率20KHz,占空比50%)
频率(24000000/20000) -1 = 1199
换算成十六进制为:0x04AF (bit 0-15)
占空比:(24000000/20000)*50% -1 =598
换算成16进制为:0x0256 (bit 15-31)
命令:himm 0xF8A2301c 0x025604AF