合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言

前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。
一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而,尴尬的是,这些我找到的例程无一例外都未能成功运行。更让我困扰的是,关于如何烧录程序到开发板上的信息寥寥无几,我虽然知道如何编译和调试代码,却对于如何实际点亮LED一无所知。网上相关的完整详细教程非常稀缺,这使得我不得不自己摸索,经过一番努力并参考了一些类似的文章和资料后,我终于掌握了点亮LED的方法。
基于我个人的这段经历,我深刻意识到了对于初学者而言,拥有一份完整详尽的指南是多么的重要。因此,我决定编写这份教程,希望能为同样走在学习路上的朋友们提供一份全面的指导,让大家能够一次性成功实现LED的点亮,而不必像我一样经历许多不必要的弯路。
那么接下来我将会详细的去展示整个过程
在这里插入图片描述

创建工程

第一步那肯定是下载IDE啦
安装过程很简单,几乎都是直接点“继续”这里不赘叙了
官网HT_IDE30000 V8.1.5仿真器下载
第二步看别人的教程是下载烧录器,但是我没有烧录器,我用是USB数据线(要是数据线,一般的usb线可能不行),所以看情况下载,我这里就不说烧录器使用方法了
烧录器HOPE3000 V3.6.2下载

使用介绍(创建工程)

1.新建工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.创建文件添加

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样子就完成啦

测试代码

#include "HT66F2390.h" // 包含HT66F2390单片机的头文件,用于访问特定的功能和寄存器// 定义LED控制宏
#define LED  _phc   // 将宏LED定义为对应控制端口PHC(用于控制GPIO的高低电平)
#define LED2  _ph0  // 将宏LED2定义为对应PH0端口,用作LED的输出端口
#define LED1  _ph1  // 将宏LED1定义为对应PH1端口,同样用作LED的输出端口void delay(unsigned long count); // 声明延时函数void main() // 主函数
{_wdtc=0b10101111;  // 关闭看门狗计时器,避免它在程序运行时复位单片机LED=0;  // 配置PHC寄存器使其端口(此例中为LED控制端口)为输出模式 LED1 = 0; // 初始化设置LED1为低电平LED2 = 0; // 初始化设置LED2为低电平delay(50000); //延时500msLED2  = 1; // 将LED1设置为高电平LED1 = 1;  // 然后立即将LED1设置为低电平delay(50000);//延时500msLED2  = 0; // 将LED2设置为低电平 关闭LED2LED1 = 0;   // 将LED1设置为低电平 关闭LED1delay(50000);//延时500mswhile(1) // 无限循环{LED1 = 1;  // 将LED1设置为高电平,LED1点亮LED2 = 0;  // 同时将LED2设置为低电平,LED2熄灭delay(50000); // 延时500ms(这里测量的结果约为500ms)LED1 = 0; // 将LED1设置为低电平,LED1熄灭LED2点亮LED2 = 1;  // 同时将LED2设置为低电平,LED2熄灭delay(50000); // 延时500ms}
}void delay(unsigned long count) // 延时函数的实现
{volatile unsigned long i;   //的无符号长整型变量i,告诉编译器避免优化for(i=0;i<count;i++) // 用for循环实现延时asm("nop"); // 执行空操作(no operation),每次循环延时一个周期
}

将上面代码复制到你的IDE的main.c中

这个开发板上有H0,H1 A0 B0等等,然后你看右下角有两个跳帽,换至“PH0-LED2”,另一个也是

然后需要将你的USB连接到开发板上
如果显示连接成功即可,否则换根线试试
在这里插入图片描述
接下来点击编译
在这里插入图片描述
这样则是对的

接下来就是编译调试
点击编译调试,然后需要等一会
在这里插入图片描述

最后你也可以下载试一试,这个你只要下载进去了只需要正常供电就能运行程序,而编译调试则需要usb连接IDE才可以
点击下载运行
在这里插入图片描述

运行后如视频所示

HT66F2390点亮LED

代码讲解

其中代码的注释也比较清楚了

#define LED  _phc   // 将宏LED定义为对应控制端口PHC(用于控制GPIO的高低电平)
#define LED2  _ph0  // 将宏LED2定义为对应PH0端口,用作LED的输出端口
#define LED1  _ph1  // 将宏LED1定义为对应PH1端口,同样用作LED的输出端口

这个开发板上有H0,H1 A0 B0等等,然后你看右下角有两个跳帽,换至“PH0-LED2”,另一个也是
这也是为什么代码需要这样写而不是别的IO口
所以_phc相当于控制这一整个H,_ph0就是H0 IO口
第一二三行宏定义IO口,第一行像51单片机的P2,后面的LED1和LED2类似P2^0和P2_1这样的

void delay(unsigned long count) // 延时函数的实现
{volatile unsigned long i;   //的无符号长整型变量i,告诉编译器避免优化for(i=0;i<count;i++) // 用for循环实现延时asm("nop"); // 执行空操作(no operation),每次循环延时一个周期
}

这个延时函数时用了这个IDE里面有一个代码生成器,挺好用的
在这里插入图片描述
在这里插入图片描述
我测试了delay(50000); // 延时500ms

小结

到这里点灯教程结束了,做完这些我想你已经成为了点灯大师了吧,接下来就是继续学习其他的内容了

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

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

相关文章

LeetCode第七题: 整数反转

题目描述 给你一个 32 位的有符号整数 x​ &#xff0c;返回将 x​ 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1]​ &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 …

软考笔记--企业资源规划和实施

企业资源是指企业业务活动和战略运营的事物&#xff0c;包括人、财和物&#xff0c;也包括信息资源&#xff0c;同时也包括企业的内部和外部资源。企业资源可以归纳为物流&#xff0c;资金流和信息流。企业资源规划&#xff08;ERP&#xff09;是只建立在信息技术基础上&#x…

如何卸载Erlang以及RabbitMQ

参考以下两篇文章 https://blog.csdn.net/m0_49605579/article/details/130196536 Windows如何完全卸载RabbitMQ和Erlang_删除注册表hkey_local_machine\software\ericsson\erlang\e-CSDN博客 首先我是按照链接一的操作进行了卸载&#xff0c;但是Erlang的安装目录一直删除不…

Android 8.1 Power电源键增加Home键功能

Android 8.1 Power电源键增加Home键功能 近来接到客户需求&#xff0c;想要将电源键Power增加Home键功能&#xff0c;即当前页面在非Launcher时按下Power电源键&#xff0c;跳转到Launcher页面&#xff0c;具体修改参照如下&#xff1a; /frameworks/base/services/core/java…

铭瑄科技——为星闪技术发展与应用带来新推力

随着智能化生活逐渐普及&#xff0c;无线通信不仅是不仅是信息时代的重要基础设施&#xff0c;而且是推动社会向智能化发展的核心力量之一&#xff0c;其中短距无线通信更是推动未来智能化发展的关键。 为积极推动未来硬件智能化、产业智能化发展&#xff0c;铭瑄正式宣布成为星…

sql-函数

函数&#xff1a;一段可以直接被另一段程序调用的程序或代码。 字符串函数 函数功能CONCAT(s1, s2, …, sn)字符串拼接&#xff0c;将s1, s2, …, sn拼接成一个字符串LOWER(str)将字符串全部转为小写UPPER(str)将字符串全部转为大写LPAD(str, n, pad)左填充&#xff0c;用字符…

AI:141-利用自然语言处理改进医疗信息提取与分类

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

黑马头条-day10

文章目录 app端文章搜索1、文章搜索1.1 ElasticSearch环境搭建1.2 索引库创建①需求分析②ES导入数据场景分析③创建索引和映射 1.3 索引数据同步①app文章历史数据导入ES②文章实时数据导入ES 1.4 文章搜索多条件复合查询①关键词搜索②搜索接口定义 2、搜索历史记录2.1 需求说…

C#中的static关键字详解

在C#编程中&#xff0c;static关键字是一个非常常用的特性&#xff0c;它可以用于类、方法和成员变量。本文将详细解释C#中static关键字的含义、用途、与其他关键字的关系以及它如何在不同作用域中使用。同时&#xff0c;我们也会提供一些示例来帮助您更好地理解static关键字在…

【2024-02-25】360春招笔试两道编程题解

恭喜发现宝藏&#xff01;搜索公众号【TechGuide】回复公司名&#xff0c;解锁更多新鲜好文和互联网大厂的笔经面经。 作者TechGuide【全网同名】 订阅专栏&#xff1a; 【专享版】2024最新大厂笔试真题解析&#xff0c;错过必后悔的宝藏资源&#xff01; 第一题&#xff1a;函…

积分商城管理系统的设计与实现

积分商城管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组&#xff0c;为啥不能遍历对象&#xff0c;就是for…of会调用迭代器&#xff0c;而数组是内置了迭代器了&#xff0c;而对象没有内置&#xff0c;所以直接使用for…of遍历对象会报错&#xff0c;因此只用在对象的原型上面自定义…

YOLO算法改进Backbone系列之:EfficientViT

EfficientViT: Memory Effificient Vision Transformer with Cascaded Group Attention 摘要&#xff1a;视觉transformer由于其高模型能力而取得了巨大的成功。然而&#xff0c;它们卓越的性能伴随着沉重的计算成本&#xff0c;这使得它们不适合实时应用。在这篇论文中&#x…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下&#xff0c;出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了&#xff0c;如果是0&#xff0c;0.1就不行&#xff0c;不会有下面的波形

YOLOv9中的“RepNCSPELAN4”结构!

RepNCSPELAN4结构出炉啦&#xff0c;收藏起来写论文用&#xff01; 1.代码&#xff1a; 代码路径&#xff1a;yolov9-main->models->common.py&#xff0c;代码如下&#xff1a; class RepNCSPELAN4(nn.Module):# csp-elandef __init__(self, c1, c2, c3, c4, c51): # …

使用EFCore连接SQLite

简介 在使用EFCore连接SQLite之前我们先来了解一下SQLite SQLite是一个轻量级、自包含、无服务器、零配置的事务性SQL数据库引擎&#xff0c;它支持SQL92标准的大多数查询语言并兼容ACID事务。具体如下&#xff1a; 轻量级&#xff1a;SQLite非常轻巧&#xff0c;它的库体积…

UE5 C++ Gas开发 学习记录(三)

添加AuraPlayerState,AuraAbilitySystemComponentBase和AuraAttributeSet 在Build.cs里添加 // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyGas : ModuleRules { public MyGas(ReadOnlyTargetRules Target) : base(Target) { P…

leetcode hot100打家劫舍三

本题是打家劫舍的变形&#xff0c;数据结构是树形。涉及到树的题目一定要想清楚树的遍历顺序&#xff08;前中后序&#xff09;。之后再考虑利用动态规划来解决。 动态规划是一直记录状态&#xff0c;我们可以根据动态规划的数组来记录变化的状态&#xff0c;最终求的自己想要…

【算法笔记】ch01_01_0771 宝石与石头

笔记介绍&#xff1a; 本项目是datawhale发布的LeetCode 算法笔记&#xff08;Leetcode-Notes&#xff09;课程完成笔记&#xff0c;根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码&#xff0c;会介绍解题思路及跑通解法。 0771. 宝石与石头 题目大意 描…

Python字符串访问与拼接你搞懂了吗?

使用下标访问字符串&#xff0c;从0开始计数&#xff0c;-1表示最后一个字符。三种遍历字符串的方法&#xff1a;for循环、len()和enumerate()。字符串拼接只能是字符串之间使用&#xff0c;不能与数字拼接。 1.下标访问字符串 通过下标访问字符串的内容&#xff0c;下标从 0 …