HI3516DV300 GPIO操作

HI3516DV300 GPIO操作前言本次实验根据ProYuan28博主写的博客GPIO文档进行适配调试,特此记录GPIO操作。正文GPIO分为三个步骤:1设置gpio端口复用寄存器;2设置GPIO口的方向寄存器(GPIO_DIR);3设置读取或者写入GPIO值寄存器(GPIO_DATA);实验平台:HI3516DV300…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

本次实验根据ProYuan28博主写的博客GPIO文档进行适配调试,特此记录GPIO操作。

正文

GPIO分为三个步骤:

                               1 设置gpio端口复用寄存器;

                               2 设置GPIO口的方向寄存器(GPIO_DIR);

                               3 设置读取或者写入GPIO值寄存器(GPIO_DATA);

实验平台:HI3516DV300

实验目的:通过GPIO8_3 点亮LED灯

一、设置gpio端口复用寄存器

首先要查看Excel 表格 HI3516DV300_PINOUT_CN 中的第三张表格“管脚控制寄存器”,查询自己需要配置的GPIO复用寄存器地址。GPIO8_3的复用寄存器地址为 0x112F002C

HI3516DV300 GPIO操作

此时,我需要的功能是:低电平转换速率,上拉电阻使能有效,驱动能力2级,功能为GPIO8_3,此时可以通过计算器可以看到需要输入寄存器的 数值为 0x0524

HI3516DV300 GPIO操作

二、设置GPIO口的方向寄存器(GPIO_DIR)

现在进行第二步,配置I/O口的方向设置是输入还是输出。根据GPIO对应的基地址+GPIO寄存器地址才能组成控制目标寄存器的完整地址。

HI3516DV300 GPIO操作
GPIO8基地址

现在我们要控制GPIO8_3 的GPIO_DIR寄存器,如下图所示:

HI3516DV300 GPIO操作
GPIO_DIR寄存器地址

 因此我需要控制GPIO8的第3号端口,则对应的输入0000 1000,即0x08。因此在 0x120D8400 地址中 输入0x08。

三、设置读取或者写入GPIO值寄存器(GPIO_DATA)

结合本文前面的内容以及下图,可以获取GPIO8_3的GPIO_DATA地址,为0x120D83FC

HI3516DV300 GPIO操作
GPIO_DATA

我们要对GPIO8的第3号端口输入一个高电平,即0000 1000,输入为0x08。

因此我们在0x120D83FC 输入 0x08。

四、实验与测试

最后通过海思提供的himm模块我们对寄存器进行控制,如下图所示。

HI3516DV300 GPIO操作

最后大功告成!!!!!

相关代码:

// 1.设置复用寄存器
himm 0x112f002c 0x0524

// 2.设置GPIO方向
himm 0x120d8400 0x08

//3. 设置读写GPIO值
// GPIO8_3 高电平
himm 0x120d83fc 0x08

// GPIO8_3 低电平
himm 0x120d83fc 0x00

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193450.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月25日 上午10:43
下一篇 2025年11月25日 上午11:15


相关推荐

  • java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一「建议收藏」

    java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一「建议收藏」对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java泛型详解、Java中的泛型方法、 java泛型详解1.概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传

    2022年7月8日
    19
  • python考试题目及答案-python期末考试试题汇总

    python考试题目及答案-python期末考试试题汇总6 foriinrange 2 n ifn i 0 breakifi n 1 print 是素数 else print 不是素数 7 abcabcabc count abc 的值为 3 8 对于有 else 子句的 for 循环和 while 循环 但循环因循环条件不成立而自然结束时 会 会或不会 执行 else 中的代码 10 已知 x helloworld 那

    2026年3月26日
    2
  • 资源网站(电驴替代方案)

    资源网站(电驴替代方案) 0、http://www.emule-project.net/这个不用说了,emule官方,没有它就没有下面的所有一切,德国人开的。只提供官方版emule软件,没有资源下载。秉承理念“eMule是完全免费的,它也决不包含广告软件、间谍和流氓软件。我们之所以创造eMule是为了快乐和知识,而不是为了金钱。”eMule的作者是一个德国人Merkur,本名Hendrik.Breitk…

    2022年7月15日
    21
  • 微信地位,牢不可破?

    微信地位,牢不可破?作者|李楠本文经授权转自新浪科技QQ与微信接连称霸社交赛道20年后,新的临界点似乎已经到来。回看2019的社交市场,新产品持续推出。截至目前,阿里巴巴、字节跳动、百度、京东、网易、搜狐等新老巨头纷纷入局,映客8500万美元收购积目引起热议,以“灵魂”做标签的Soul崭露头角。有专家向新浪科技表示,00后群体正在崛起,其对社交网络的需求有所差别,这群主力军不一定热衷于微…

    2022年5月14日
    42
  • 虚拟机下安装配置Fedora12

    虚拟机下安装配置Fedora121.安装VMware7.0(貌似之前版本对Fedora12的图形界面支持不是很好,本人未实验)2.新建虚拟机,选择存储位置并分配硬盘空间(想给50G来着,后来分了30G结果发现还是多了,用不了)我选择了分割存储,每2G一个文件,因为感觉一个几十G的文件看着就好恶心……移动起来也很费事。3.分配内存CPU,Fedora12推荐512M以上,不过实践证明1G依然偶尔出现窗口滞留现象(图形界面),想用图形的还是给1G吧。4.选择操作系统,选择以后再装,因为默认支持里没有Fedora。5.完

    2026年1月28日
    4
  • Deepin UOS Linux源代码编译安装Nginx

    Deepin UOS Linux源代码编译安装Nginx国产操作系统 UOSDeepinLin 源码编译安装 Nginx

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号