海思IO的使用

news/2024/7/7 21:28:25

这里以hi3536为例

  1. 第一步是进行复用寄存器的设置,复用寄存器基地址为 0x120F_0000
    GPIO0_0 管脚的复用控制寄存器的偏移地址为0x148
    那麽GPIO0_0的复用地址为 0x120F_0000 + 0x148
    当为设值为00 时复用为GPIO0_0
    10 时复用为VOU_SLV_DATA14

  2. 方向和数据寄存器对应的基地址(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

    注:设值的时候好左移两位


http://lihuaxi.xjx100.cn/news/268000.html

相关文章

深度学习中GPU和显存分析

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达转自:机器学习AI算法工程深度学习最吃机器,耗资源,在本文,我将来科普一下在深度学习中:何为“资源”不同操作都…

解决windows和ubuntu之间粘贴复制失效

解决windows和ubuntu之间复制粘贴失效 执行下面代码: sudo apt-get install open-vm-tools 执行完后重启虚拟机。 如果出现下面的问题:重新打开虚拟机后,复制粘贴功能可以使用,但是ubuntu系统的窗口很小。 执行下面的命令&am…

Java-001-面向对象

Java-面向对象 什么是面过程 把题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。就是说,在进行面向过程 编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for- each等方…

这位北大CS硕士小老弟,简直是“卷怪”!

最近认识一位老弟,来自全国最高学府北京大学,专业是计算机科学技术,看了他的履历,感觉好励志,他在读本科期间获学科竞赛奖无数,保研时拿下多所985大学offer,在读研一的时候,就拿下字…

Swift强制解析

IDE:Xcode Version7.3.1 Swift中"数据类型?"表示这是可选类型,即 某个常量或者变量可能是一个类型,也可能什么都没有,不确定它是否有值,也许会是nil。 比如: let num1 “123” let num2 Int(number1) pri…

FPGA-YC输出一个4边框

输出的是一个粉红的4边框 if( h_cntr 1 || h_cntr 1919 || v_cntr 42 || v_cntr 1121) //红框beginy_out < 324;if (h_cntr[0]1)c_out < 960;else c_out < 360; end

C语言感觉有意思得意东西!_只愿与一人十指紧扣_新浪博客

int &#xff08;*p&#xff09;[4],这个配合的数组要有4行&#xff0c;就必须是二维数组啦&#xff01;下图是一维数组&#xff1a;#include"stdio.h"int main( ){int a[4]{1,3,5,7};//17,19,21,23,9,11,13,15,int (*p)[4],i,j;pa;printf("%d ",*(*(pi)j…

CI报Disallowed Key Characters的解决

用CI框架时&#xff0c;有时候会遇到这么一个问题&#xff0c;打开网页&#xff0c;只显示 Disallowed Key Characters 错误提示。有人说 url 里有非法字符。但是确定 url 是纯英文的&#xff0c;问题还是出来了。但清空浏览器历史记录和cookies后。 刷新就没问题了。有时候。打…