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

news2024/9/20 6:36:36

目录

    • 前言
    • 环境配置
    • 点亮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.coloradmin.cn/o/2102405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件包含漏洞PHP伪协议利用方法

使用php伪协议的前提 php.ini中的allow_url_fopen 、allow_url_include这两个参数需要修改为on 1.file协议 使用file协议读取Windows的系统文件 http://127.0.0.1/123.php?cmdfile:///c:/windows/system32/drivers/etc/hosts 2.php://filter协议 使用php://filter协议可以…

JsonCpp库的使用

目录 一、Json数据格式 二、JsonCpp介绍 2.1 Json::Value 2.2 序列化接口 2.3 反序列化接口 三、JsonCpp的使用 3.1 头文件包含 3.2 序列化 3.3 反序列化 四、补充 Json 是⼀种数据交换格式,它采⽤完全独⽴于编程语⾔的⽂本格式来存储和表示数据。 一、J…

P01-Java何谓数组

P01-Java何谓数组 一、数组声明创建 1.1 数组声明的语法 与c有所不同 在Java中,数组声明语法 首选语法: //数据类型[] 数组名称; int[] arr;次选,与c类似 //数据类型 数组名称[]; int arr[];1.2 数组创建语法 与c指针有所相似&#xff0…

嵌入式开发与应用按键外部中断实验二

一、实验目的 1. 通过实验掌握中断式键盘控制与设计方法; 2. 熟悉编写中断服务程序; 3. 掌握中断系统相关知识,掌握外部中断应用方法和处理过程; 4. 掌握实验处理器中断处理的软件编程方法; 5. 从按键程序的设计对系统的编程…

Prometheus_0基础_学习笔记

一、基本概念 Prometheus是由golang语言开发的一套开源的监控、报警、时间序列数据库的组合,是一款基于时序数据库的开源监控告警系统。 时间序列数据库:时间序列数据库(Time Serires Database , TSDB)不同于传统的关系型数据库。…

是缔造AI程序员,还是AI缔造程序员?

随着AIGC(如ChatGPT、MidJourney、Claude等)大语言模型的涌现,AI辅助编程工具的普及使得程序员的工作方式正在发生深刻变革。AI的迅猛发展,不仅提升了编程效率,也引发了对程序员未来职业前景的深思。我们应当如何在这一…

【归并分而治之】逆序对的应对之策

目录 1.前言2.题目简介3.求解思路为什么要这样做?快在哪?为什么这种方法会想到结合归并排序?如何在一左一右中统计剩下的逆序对个数?固定右边的数,用降序会怎么样???思路的本质是巧妙…

【MySQL07】【锁】

文章目录 一、前言二、事务的读写情况1. 写-写情况2. 读-写情况3. 一致性读4. 锁定读2.1 共享锁和独占锁2.2 锁定读的语句 5. 写操作 三、多粒度锁四、表锁和行锁1. 表级锁1.1 表级别的 S锁 和 X锁1.2 表级别的 IS 锁和 IX锁1.3 表级别的 AUTO-INC 锁 2. 行级锁2.1 行级锁的分类…

Qt6+VTK9环境配置

Qt6VTK9环境配置 说明1 Qt6安装2 VTK源码编译2.1 源码下载2.2 工程编译2.3 设置环境变量 3 QtVTK项目构建3.1 使用qmake管理项目3.2 使用cmake管理项目 参考资料 说明 由于想做一点新的东西,需要去探索一些工具,对于VTK之前没有了解过,在进行…

redis缓存和数据库通过延迟双删除实现数据一致性

为了提高查询的效率,我们经常会用到redis缓存,但是使用redis缓存就不可避免缓存一致性的问题。 先删缓存,再更新数据 如果并发查询可能会再删除缓存后,还没有更新数据库的时候,第二个线程读取到旧数据,并…

尚品汇-商品上下架完善(更新ES)、延迟消息(四十四)

目录: (1)改造商品搜索上下架 (2)延迟消息 (1)改造商品搜索上下架 定义商品上下架常量 在rabbit-util模块中导入常量类MqConst。 /*** 商品上下架.*/ public static final String EXCHANGE…

游戏翻译中西班牙语的特点

由于西班牙语丰富的文化多样性和广泛的使用,将游戏翻译成西班牙语带来了独特的机遇和挑战。西班牙语是全球第二大使用语言,包括西班牙、拉丁美洲和美国部分地区在内的各个地区有超过4.6亿母语人士。然而,这些地区的语言和文化差异需要量身定制…

Datawhale X 李宏毅苹果书 AI夏令营-深度学习进阶task1:局部极小值与鞍点,批量和动量

一、临界点和鞍点 在做优化的时候经常会发现,随着参数不断更新,训练的损失不会再下降, 但是我们对这个损失仍然不满意或者有时模型一开始就训练不起来,不管我们怎么更新参数,损失都降不下去。 过去常见的一个猜想是我们优化到某…

GPU环境配置:1.CUDA、Anaconda、Pytorch

一、查看显卡适配CUDA型号 查看自己电脑的显卡版本: 在 Windows 设置中查看显卡型号:使用 Windows I 快捷键打开「设置」,依次点击「系统」-「屏幕」和「高级显示器设置」,在「显示器 1」旁边就可以看到显卡名称。 右键点菜单图标…

自动生成对话视频!如何使用Captions的AI视频生成与编辑API工具?

Captions公司最近发布了一套AI驱动的视频生成和编辑API工具,为创作者和开发者提供了一个强大的视频创作生态系统。这个系统包含AI Creator、AI Twin、AI Edit、和AI Translate四大核心功能,每个工具都针对不同的创作需求进行优化。下面我们就一起来详细测…

宏定义## 的使用

宏定义## 的使用 C语言中宏定义## 的使用 宏定义## 的使用 #define LV_color(x,y,z) x##y##z 文章目录 宏定义## 的使用宏定义## 的使用 宏定义## 的使用 #include<stdio.h> #include<stdlib.h>#define LV_color(x,y,z) x##y##z int main() {printf("LV_col…

SaaS行业|深入探讨五个联盟营销平台

随着数字时代的飞速发展&#xff0c;SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;行业正以前所未有的速度崛起&#xff0c;成为推动全球商业变革的重要力量。本文将深入探索分析SaaS行业的五个营销联盟营销平台。 1. PartnerShare&#xff1a;Saa…

保姆级Vue项目安装配置步骤(包含vue-cli脚手架环境配置、Vue项目创建、运行)

文章目录 1. Vue-cli脚手架安装2. Vue项目创建(使用图形化界面创建步骤&#xff09;3. Vue项目-运行4. Vue项目-配置端口 此教程摘选自我的笔记&#xff1a;黑马JavaWeb开发笔记08——(保姆级Vue项目全部安装配置步骤)Vue-cli脚手架安装、NodeJS环境搭建、Vue项目的创建、运行、…

zdppy+vue3+onlyoffice文档管理系统实战 20240903 上课笔记 登录功能完成

接下来 1、注销功能&#xff1a;点击注销按钮&#xff0c;清除登录信息跳转到登录页面2、token过期 注销功能 useUser.js import storage from "../../g/storage.js"; import {useRouter} from "vue-router"; import {message} from "ant-design-…

【vue Lottie】lottie在vue项目中的使用心得

✨减少依赖体积 ●能用原生实现的动效&#xff0c;就不要切Lottie&#xff0c;提前做好切分 ●使用的时候&#xff0c;不要一股脑的复制粘贴过来&#xff0c;而是应该进行如下步骤的清洗 ○合并同样的图片依赖素材&#xff0c;减小依赖图片的大小 ○一些很大的背景图片&…