海思IO的使用
这里以hi3536为例
-
第一步是进行复用寄存器的设置,复用寄存器基地址为 0x120F_0000
GPIO0_0 管脚的复用控制寄存器的偏移地址为0x148
那麽GPIO0_0的复用地址为 0x120F_0000 + 0x148
当为设值为00 时复用为GPIO0_0
10 时复用为VOU_SLV_DATA14 -
方向和数据寄存器对应的基地址(GPIO0): 0x1215_0000
2.1 方向寄存器的偏移地址为 0x400 (页码13-126)
GPIO 方向控制寄存器。bit[7:0]分别对应
GPIO_DATA[7:0],各比特可独立控制
0:输入
1:输出
注:这里要“或” 读改写的方式
2.2 数据寄存器的偏移地址为 0x000~0x3FC (页码13-127)
当 GPIO_DIR 相应的比特配置为输入时,有效读取的结果将返回管脚的值;当配置为
输出的时候,有效读取的结果将返回写入的值。
GPIO_DATA 寄存器利用 PADDR[9:2]实现了读写寄存器比特的屏蔽操作。该寄存器对
应 256 个地址空间。PADDR[9:2]分别对应 GPIO_DATA[7:0],当相应的 bit 为高时,则
可以对相应的位进行读写操作;反之,若对应 bit 为低则不能进行操作。例如:
若地址为 0x3FC(0b11_1111_1100),则对 GPIO_DATA[7:0]这 8bit 操作全部有效。
若地址为 0x200(0b10_0000_0000),则仅对 GPIO_DATA[7]的操作有效。
切记这里指的时地址, 然后对单个io拉高或拉低----就使用0xff和0x00
注:设值的时候好左移两位
本文链接:https://blog.csdn.net/weixin_40673765/article/details/100765970
相关推荐:
- 分享
- 举报
-
浏览量:3480次2018-04-26 15:06:40
-
浏览量:6357次2021-09-27 15:29:05
-
浏览量:4569次2020-06-19 15:56:33
-
浏览量:1840次2023-07-28 10:26:21
-
浏览量:1706次2020-02-28 18:49:51
-
浏览量:4506次2020-07-30 10:26:53
-
浏览量:1268次2023-10-12 14:39:21
-
浏览量:10483次2020-08-18 21:37:52
-
浏览量:3054次2020-07-30 10:40:24
-
浏览量:3522次2020-07-30 10:36:08
-
浏览量:1134次2023-08-29 15:52:13
-
浏览量:2471次2020-08-25 18:07:51
-
浏览量:5131次2020-08-25 18:07:54
-
浏览量:3648次2020-07-27 16:07:46
-
浏览量:3018次2020-08-26 17:29:05
-
浏览量:6550次2021-09-07 16:20:24
-
浏览量:2453次2018-12-17 17:07:51
-
浏览量:1729次2024-01-02 16:35:00
-
浏览量:1400次2023-10-17 17:25:52
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
易百纳技术社区
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明