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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • vscode高效开发方案【护眼绿主题,插件,和控制台】研究

    vscode高效开发方案【护眼绿主题,插件,和控制台】研究最近写代码太累,眼睛疲劳,修改写主题配色插件安装参考文章大前端插件集合配置主题启动vscode把下面的代码放在配置中”workbench.colorCustomizations”:{“foreground”:”#519657″,”editor.background”:”#c8e6c9″,”editor.lineHighlig…

  • 目标检测与图像分割的区别_语义分割和实例分割最新论文

    目标检测与图像分割的区别_语义分割和实例分割最新论文计算机视觉的任务很多,有图像分类、目标检测、语义分割、实例分割和全景分割等,那它们的区别是什么呢?1、ImageClassification(图像分类)图像分类(下图左)就是对图像判断出所属的分类,比如在学习分类中数据集有人(person)、羊(sheep)、狗(dog)和猫(cat)四种,图像分类要求给定一个图片输出图片里含有哪些分类,比如下图的例子是含有person、sheep和do…

  • 数据中心部署模式二元化

    数据中心部署模式二元化

  • 输入网址访问服务器详细流程

    输入网址访问服务器详细流程问题:以前遇到过一次输入一个网站打不开,该网站服务器没问题,换台电脑可以打开。这台电脑可以打开别的网站,就是打不开我要访问的网站。后来找到C:\Windows\System32\drivers\etc\hosts 这个文件,在该文件中找到该网址删掉就好了. 答案:   输入网址访问的时候,浏览器会进行解析域名,找对应的ip地址。那么首先就从本机C:\Windows\System…

  • aop实现原理面试_aop ioc 面试怎么回答

    aop实现原理面试_aop ioc 面试怎么回答作用——用于处理系统中分布的各个模块的横切关注点(如:事务管理、日志、缓存等),是使用动态代理实现,在内存中临时为增强某个方法生成一个AOP对象,该对象含有目标对象的所有方法,在特定的切入点做了增强处理,并回调原来的方法。P:咋眼一看,不能直接理解很正常。动态代理的实现——主要分两种方式实现1、JDK动态代理原理说明——JDK动态管理通过反射接收被代理的类,该代理的类必须实现接口,核心是InvocationHandler和Proxy类。2、Cglib动态代理原理说明——Cglib通过.

  • mysql longtext问题

    mysql longtext问题各位大神们,我把数据库中content的类型设置成了text了,然后我像里面插入数据,为什么我用select查询去没有结果只显示blob具体的如图所示1234

发表回复

您的电子邮箱地址不会被公开。

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