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


相关推荐

  • 系统结构-并行算法FORK JOIN[通俗易懂]

    系统结构-并行算法FORK JOIN[通俗易懂]并行算法FORKJOIN一、FORKJOIN定义二、举例题目分析:一、FORKJOIN定义FORK语句的形式:FORKm,其中m为新进程开始的标号。执行FORKm语句时,派生出标号为m开始的新进程,具体为:1、准备好这个新进程启动和执行所必需的信息;2、如果是共享主存,则产生存储器指针、映像函数和访问权数据;3、将空闲的处理机分配给派生的新进程,如果没有空闲处理机,则让它们排队等待;4、继续在原处理机上执行FORK语句的原进程。与FORK语句相配合,作为每个并发进程的终端语句J

    2026年1月31日
    5
  • Oracle中关于bitmap index的使用问题

    Oracle中关于bitmap index的使用问题

    2021年9月2日
    79
  • java实现邮件发送_显示对方是qq邮箱发短信

    java实现邮件发送_显示对方是qq邮箱发短信java实现手机短信和邮箱推送

    2022年10月13日
    4
  • mysql中explain的用法_mysql substr用法

    mysql中explain的用法_mysql substr用法基于Mysql5.7版本的explain参数详解…Mysql官网相关参数解读一:idSELECT标识符1.id越大越先执行2.相同id,从从往下执行二:select_type1.SIMPLE:最简单的查询(没有关联查询没有子查询没有union的查询语句)2:PRIMARY:子查询最外层的查询语句3.SUBQUERY:子查询内层查询语句4.DERIVED:派生表查询,FROM后的不是表而是查询后的结果集5.UNION:union或unionall中的第二个以后的查询表6.U

    2022年8月31日
    11
  • Service Mesh实战

    Service Mesh实战ServiceMesh 技术历经三年多 无论是国内还是国外 这门新技术相关的资料和书籍都太少 网络上也鲜有成体系的课程 这给学习者增加了时间成本 然而 很多开发者一方面对 ServiceMesh 的概念不太了解 没有办法很好地理解 ServiceMesh 的核心功能 另一方面 ServiceMesh 实践和落地的学习内容也很有限 这为想要深入学习和进行实践的开发者带来了不便 因此 本课程从回顾服务网格的发展历程讲起 让你能够更好的理解它的概念和核心功能 通过实战演练 熟练掌握 Istio 流量控制 安全 服务可

    2026年3月17日
    2
  • ICEM-二维Y型网格的一种做法

    ICEM-二维Y型网格的一种做法原视频下载地址:https://pan.baidu.com/s/1nvSBHoP密码:uqy3 转载于:https://www.cnblogs.com/liusuanyatong/p/11259902.html

    2022年5月20日
    38

发表回复

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

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