Hi3061M开发板初测——点亮小灯

目录

    • 前言
    • 环境配置
    • 点亮led
      • 源码
      • IDA集成了串口监视器
      • 最后下载到开发板中运行


前言


海思MCU体验官活动,Hi3061M开发板到手后,配置环境初步测试点亮小灯。

环境配置


环境配置按照gitee提供的redeme一步一步来配置起来很顺利。具体可自行查阅:环境配置
这里稍微提一嘴,安装驱动后其实可以不需要重启电脑,插拔一下开发板应该就可以。
再使用zadig.exe进行驱动转换就可以在“Options”->选中“list All Devices”中找到并选中“Dual RS232- HS(Interface 0)”,然后进行转换。(我是没插开发板,安装好驱动,再插入开发板进行转换的),只有插入了开发板才能在list All Devices”找到对应的设备
另外一个点是建议调试和程序加载都配置好

还有记得点击一下底部的目标板,检测目标板在线


image.png


我不知道这个有没有影响,不点直是不在线的,但是好像也能下载(不记得了),可能只是现实bug

点亮led


根据文档新建工程后,文档就是上面环境配置的文档。
内部是带例程的


image.png

选中使能,会弹出一个加载led配置,覆盖原有配置,是否使用点击确认即可。
需要注意的是如果你原有工程改过东西,点这些案例配置,会覆盖你原来所有的,慎重,新建的工程随意。

当然不是这样就可以编译下载了,例程中的IO口需要进行更换。例程中的管脚在Hi3061M中不是对应的LED灯,默认的是16脚
我们可以通过芯片配置器管脚模式进行快速配置,选中引脚,选择功能,选好如图出现勾和绿色标识时,就是成功了,然后点生成代码,就会自动生成对应的IO初始化代码了,还是很方便的。

image.png

但是这个有一点缺点,那就是无法设置引脚的输入输出模式,以及电平高低等参数,而且现实的是管脚,按原理图GPIO2_3找起来优点麻烦。
另外一种方式是在表格视图中对io口进行配置,可以添加,也可以修改原来定义的引脚,当然这里只处理引脚的定义,对于特殊功能如串口、IIC的不会在这显示,这里单纯定义引脚还是非常方便的,都不需要改代码。

image.png

我一开始遇到的坑就是,直接在管脚视图生成了GPIO2_3的代码,然后进行编译下载,但是一直不亮,这个例程还带了串口的调试,我看了下串口也有调试信息出现, 调了延时发现灯一直没亮,以为坏了,就去试试另一个,后面看代码才发现管脚视图初始化默认的IO的模式应该是为输入模式,导致没亮灯。这是一个呼吸灯+串口的案例,可以去看看源码,不是很复杂,把IO定义搞明白了,后面的开发相对也会容易点
另外附上两个LED对应的IO口——GPIO2_3就是对应的35脚, GPIO1_0就是对应的27脚
其实也可以直接在源码上改,把默认的16改到35就好了,但是初次使用图形化配置也挺方便的,该删的直接删除就行
(图中级别就是IO口的电平,低电平亮)

image.png

源码

源码其实就几句,SystemInit()是一些IO口的定义,模式啊,输入输出,什么什么的BASE_FUNC_DELAY_MS(CYCLE_INTERVAL_TIME);就是延时函数延时ms,CYCLE_INTERVAL_TIME 设置值,
HAL_GPIO_TogglePin(&LED_HANDLE, LED_PIN);进行IO口翻转,
DBG_PRINTF(“LED Stata reverse! \r\n”);串口打印。
这个是一个闪烁灯案例。

#define CYCLE_INTERVAL_TIME   2000/* ---------------------------------- Sample Parameters -------------------------------- */
/*** @brief Test GPIO PIN control LED.* @param None* @retval Value of @ref BASE_StatusType.*/
BASE_StatusType GPIO_LedSample(void)
{SystemInit();/* Cycle control LED on and off. */while (1) {BASE_FUNC_DELAY_MS(CYCLE_INTERVAL_TIME);HAL_GPIO_TogglePin(&LED_HANDLE, LED_PIN);DBG_PRINTF("LED Stata reverse! \r\n");}return BASE_STATUS_OK;
}

IDA集成了串口监视器

image.png

总的来说这个开发软件真的做的还是不错了,调试也试过,很丝滑。美中不足的是有些地方留白边框有点多。

image.png

最后下载到开发板中运行

image.png

实图

LPTGG52W0X2W5357647YCKW_tmb.jpg

欢迎一起沟通交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/415730.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python机器学习——人脸性别识别

一、选题背景 人脸识别技术是模式识别和计算机视觉领域最富挑战性的研究课题之一,也是近年来的研究热点,人脸性别识别作为人脸识别技术的重要组成部分也受到了广泛地关注。人脸性别识别就是向计算机输入人脸图像,经过某种方法或运算&#xff…

springnboot +uniapp汽车租赁系统

springnboot uniapp汽车租赁系统 手机移动端:主页,租赁汽车展示,汽车租赁,我的租赁记录,还车记录,注册登录,修改个人资料 PC端管理后台:公告管理,用户管理,…

【链表】环形链表

环形链表 环形链表I题目思路讲解代码书写拓展问题 环形链表II题目题目解析思路讲解代码书写 环形链表I 题目 题目链接: 环形链表 思路讲解 对于探究一个线性结构是否有环, 最经典的做法就是快慢指针法. 我们定义两个指针, 一个一次走两步, 一个一次走一步, 走完后判断两个是…

虚幻引擎VR游戏开发01 | VR设备和术语

四款Unreal Engine默认配套按键映射的VR设备 IMC按键映射 Oculus Touch (R) Grip Axis: 代表Oculus Rift或Quest设备的右手控制器的抓握轴输入。Valve Index (R) Grip Axis: 代表Valve Index设备的右手控制器的抓握轴输入。Vive (R) Grip: 代表HTC Vive设备的右手控制器的抓握…

chrome 插件开发入门

1. 介绍 Chrome 插件可用于在谷歌浏览器上控制当前页面的一些操作,可自主控制网页,提升效率。 平常我们可在谷歌应用商店中下载谷歌插件来增强浏览器功能,作为开发者,我们也可以自己开发一个浏览器插件来配合我们的日常学习工作…

Vite - 兼容旧版浏览器 plugin-legacy(2)

目录 1,问题2,解决3,String 其他新增 API 的版本 接上文 Vite - 兼容旧版浏览器 plugin-legacy(1) 1,问题 客户浏览器报错,不支持 replaceAll 方法。 该方法在 query-string 依赖内部使用了。…

嵌入式Linux:常见信号的默认行为

信号是一种软件中断,用于通知进程发生了某种异步事件。信号可以由用户、其他进程或操作系统内核产生。进程可以选择捕获并处理这些信号,或者忽略它们,让系统执行默认操作。 不可靠信号(非实时信号):编号为 …

反爬虫策略收录集

前言 反爬虫,是指对扫描器中的网络爬虫环节进行反制,通过一些反制策略来阻碍或干扰爬虫的正常爬行,从而间接地起到防御目的。下面是一些常见的反爬虫策略的收录。 入门版 封IP 由于服务器有防火墙(如果防火墙在TCP/UDP层或者它…

渲染100高性能云渲染,性价比超高

在这个3D渲染行业迅速发展的时代,对于渲染速度和稳定性的渴望日益强烈。需要更快的渲染时间来缩短项目周期,同时希望渲染过程更加稳定,避免问题导致的损失。 如今市场上虽然不乏各种云渲染服务,但要找到既经济又能满足高要求的选…

Java内存区域

文章目录 运行时数据区域1. 程序计数器2. 虚拟机栈局部变量表 3. 本地方法栈4. 堆5. 方法区运行时常量池直接内存 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间&…

sqli-labs靶场通关攻略(61-65)

Less-61 步骤一:查看数据库 ?id1)) and updatexml(1,concat(1,(select database())),1)-- 步骤二:查看表名 ?id1)) and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)),1)--…

uniapp写的一个年月日时分秒时间选择功能

代码: <template><view><picker mode"multiSelector" :value"multiIndex" :range"multiRange" change"onMultiChange"><view class"picker">当前选择&#xff1a;{{ formattedDateTime }}</vie…

中国各地级市的海拔标准差

海拔标准差是衡量地理测量准确性的重要指标&#xff0c;它通过计算特定地点的海拔测量值与平均海拔之间的偏差来评估数据的可靠性。较小的标准差意味着测量结果较为一致&#xff0c;而较大的标准差则可能指出数据的波动性或测量误差。 计算方法 海拔标准差的计算遵循以下公式…

C++学习/复习补充记录 --- 图论(深搜,广搜)

图的度 无向图&#xff1a; 连接某节点的边数&#xff0c;即为该节点的【度】。 &#xff08;无向图中&#xff0c;有5条边连接节点4&#xff0c;则节点4的度为5。&#xff09; 有向图&#xff1a; 出度&#xff1a;从该节点出发的边的个数。 入度&#xff1a;指向该节点边的个…

Idea_服务器自动化部署_傻瓜式教程

使用Alibaba Cloud Toolkit 在 IntelliJ IDEA 中一键部署项目到服务器 1. 安装 Alibaba Cloud Toolkit 插件 确保 IntelliJ IDEA 版本为 2018.3 或以上。打开 IntelliJ IDEA&#xff0c;进入 File -> Settings -> Plugins&#xff0c;搜索并安装 Alibaba Cloud Toolkit…

【Python基础】字典类型

本文收录于 《Python编程入门》专栏&#xff0c;从零基础开始&#xff0c;分享一些Python编程基础知识&#xff0c;欢迎关注&#xff0c;谢谢&#xff01; 文章目录 一、前言二、Python 字典类型2.1 访问字典里的值2.2 修改字典2.3 删除字典元素2.4 字典键值的特性2.5 遍历字典…

Vision Transformer (ViT) + 代码【详解】

文章目录 1、Vision Transformer (ViT) 介绍2、patch embedding3、代码3.1 class embedding Positional Embedding3.2 Transformer Encoder3.3 classifier3.4 ViT总代码 1、Vision Transformer (ViT) 介绍 VIT论文的摘要如下&#xff0c;谷歌翻译如下&#xff1a; 虽然 Transf…

《JavaEE进阶》----10.<SpringMVC应用分层:【三层架构】>

本篇博客我们主要讲解 1.应用的分层&#xff1a;三层架构 2.Spring MVC和三层架构的区别和联系 3.软件设计原则&#xff1a;高内聚低耦合 4.应用分层的好处 5.通过应用分层后的代码示例 一、三层架构简介 阿里开发手册中,关于工程结构部分,定义了常见工程的应用分层结构: 上图…

【Java 基础】:三大特征之多态

✨ 杏花疏影里&#xff0c;吹笛到天明 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;java学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&…

u盘格式化数据还能恢复吗?点击了解实用教程

U盘是电子数据存储设备&#xff0c;我们主要用它来转移数据、随身携带数据等。同时U盘在使用过程中常会遇到问题&#xff0c;比如U盘中毒&#xff0c;U盘中毒会导致里面保存的数据文件无法读取&#xff0c;我们需要进行U盘格式化。格式化之后的U盘才可以继续使用&#xff0c;那…