当前位置: 首页 > news >正文

STM32——新建工程并使用寄存器以及库函数进行点灯

本文是根据江协科技提供的教学视频所写,旨在便于日后复习,同时供学习嵌入式的朋友们参考,文中涉及到的所有资料也均来源于江协科技(资料下载)。

新建工程并使用寄存器以及库函数进行点灯操作

    • 新建工程步骤
    • 1.建立工程
    • 2.配置寄存器进行点灯操作
    • 3.添加库函数
      • 使用库函数进行点灯操作

新建工程步骤

  • 建立工程文件夹,Keil中新建工程,选择型号
  • 工程文件夹中建立Start、Library、User等文件夹,复制固件库里的文件到工程文件夹
  • 在工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里(Keil不能直接添加文件夹,所以需要建立组进行添加相应文件。.h文件不参与编译过程,但是为了方便看,也加入了.h文件)
  • 工程选项中,C/C++, Include Paths内需要声明所有包含头文件的文件夹(Start、Library都是自己建的,Keil软件并不知道,所以必须申明路径,将所有新建文件夹都进行申明,这样不会出现.h文件找不到的情况)
  • 工程选项中,C/C++, Define内定义USE_STDPERIPH_DRIVER(使用库函数就必须定义USE_STDPERIPH_DRIVER)
  • 工程选项中,Debug, 下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run

在这里插入图片描述

conf.h包含了所有库函数的头文件
在stm32f10x.h最后包含了conf.h,所以在使用库函数时,只需要包含stm32f10x.h这一头文件,就相当于包含了所有库函数的头文件

在这里插入图片描述

1.建立工程

建立工程文件夹,Keil中新建工程,选择型号

在这里插入图片描述

STM32是从启动文件开始执行的,所以新建工程时首先加的就是启动文件。启动文件有很多类,需要根据芯片型号选择对应的启动文件。STM32F103需要选择带有LD、MD、HD、XL的启动文件

在这里插入图片描述

找到STM32的启动文件,复制所有的启动文件

在这里插入图片描述

在工程文件目录下新建一个文件夹Start,用来存放启动文件

在这里插入图片描述

回到固件库中STM32F10x目录下,复制下面三个文件到刚刚新建的文件夹Start中

在这里插入图片描述

cm3文件是内核寄存器的描述,同样复制到Start目录下

在这里插入图片描述

此时,你的新建文件夹中应该包含这些文件

在这里插入图片描述

在Keil5中,将Source Group1重命名为Start(选中,单击进行修改),右键Add Existing Files to Group’Start’

在这里插入图片描述

在这里插入图片描述

CTRL选中所有.c以及.h文件,点击添加,添加好的文件如下,这些文件是只读文件

在这里插入图片描述

接着需要在工程选项里添加Start文件夹的头文件路径,否则无法找到.h文件

在这里插入图片描述

这样就添加好了该文件夹的头文件路径
在这里插入图片描述

写一个main函数测试该工程是否可行。打开工程文件夹,新建一个User文件夹

在这里插入图片描述

右键Target 1,点击Add Group,新建好的组改为User

在这里插入图片描述

右键User,点击Add New item to Group ‘user’

在这里插入图片描述

在这里插入图片描述

在main.c中右键插入头文件

在这里插入图片描述

文件的最后一行必须是空行,否则会warning。写好之后点击编译变建立工程按钮,0 Error,0 Warning说明工程没有问题

在这里插入图片描述

该工程目前是一个基于寄存器开发STM32的工程(还没有添加STM32的库函数)

2.配置寄存器进行点灯操作

如何调整字体

在这里插入图片描述

为了防止中文乱码问题,选择UTF-8编码

在这里插入图片描述

按照下图进行连接,STLINK插在电脑上,电源灯应该会常亮,另一个连接在PC13口上的灯默认闪烁状态

在这里插入图片描述

在Keil中配置调试器

在这里插入图片描述

重新编译,没有错误

在这里插入图片描述

点击Load,程序会下载到STM32中,板子的灯不再闪烁

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以上就是通过配置寄存器进行点灯的过程,需要不断查询手册进行配置,比较麻烦

3.添加库函数

为了存放库函数,在工程文件目录下新建文件夹Library
找到固件库目录下的src以及inc,将目录下内容全部复制到工程文件目录下新建的Library中

在这里插入图片描述

在这里插入图片描述

在Keil5中右键Target新建组,改名为Library,右键Add Existing Files to Group’Start’,CTRL全部添加。这样就添加好了所有的库函数文件,但是还不能使用

在这里插入图片描述

在固件库目录下找到STM32F10x_StdPeriph_Template文件,复制以下三个文件

在这里插入图片描述

将复制的三个文件添加到工程目录下User文件夹中

在这里插入图片描述

在User组中添加刚刚复制的三个文件

在这里插入图片描述

在这里插入图片描述

最后还需要一个宏定义,右键打开文件

在这里插入图片描述

找到 USE_STDPERIPH_DRIVER

在这里插入图片描述

在这里插入图片描述

基于库函数的工程就建好了
我们只能对User组中的文件修改,通过以下步骤可以更改文件夹顺序

在这里插入图片描述

使用库函数进行点灯操作

右键可以跳转到函数定义,选中,使用CTRL F,查找
经过函数的包装,就不需要查询手册来确定某一位的功能,而且库函数的配置不会影响到寄存器的其他位。只需要调用库函数,按照提示,填好参数即可

在这里插入图片描述

相关文章:

STM32——新建工程并使用寄存器以及库函数进行点灯

本文是根据江协科技提供的教学视频所写,旨在便于日后复习,同时供学习嵌入式的朋友们参考,文中涉及到的所有资料也均来源于江协科技(资料下载)。 新建工程并使用寄存器以及库函数进行点灯操作 新建工程步骤1.建立工程2.…...

【Linux】多线程任务模块

创建多个线程&#xff0c;同时完成任务 task.c #include <sys/types.h> #include <unistd.h> #include<stdio.h> #include <sys/wait.h> int create_process_tasks(Task_fun_t tasks[],int tsak_cnt) {pid_t pid;int i 0;for(i 0;i < 4;i){pid …...

Maxscript调用Newtonsoft.Json解析Json

Maxscript调用Newtonsoft.Json解析Json_newtonsoft.json maxscript-CSDN博客...

【前端】【面试】【业务场景】前端如何获取并生成设备唯一标识

✅ 总结 问题&#xff1a;前端如何获取并生成设备唯一标识&#xff1f; 核心要点&#xff1a;浏览器原生信息有限&#xff0c;但通过组合多个维度可生成设备指纹&#xff08;Device Fingerprint&#xff09;&#xff0c;用于唯一标识设备。 常见方式&#xff1a; 浏览器信息&…...

《Java面试通关宝典:基础篇》——Java面试题系列(持续更新)

《Java面试通关宝典&#xff1a;基础篇》是一篇针对Java编程初学者的面试宝典&#xff0c;旨在帮助大家快速复习Java编程语言的基础知识&#xff0c;提高面试竞争力。本文详细介绍了Java基础知识的各个方面&#xff0c;包括语言基础、面向对象、集合框架、异常处理等内容。同时…...

学习笔记(C++篇)--- Day 3

1.析构函数 析构函数不是完成对对象本身的销毁&#xff0c;C规定对象在销毁时会自动调用析构函数&#xff0c;完成对象中资源的清理释放工作。&#xff08;严格说&#xff0c;Date是不要析构函数的&#xff09; 特点&#xff1a; ①析构函数名是在类名钱加上字符~。 ②无参数&a…...

消息队列知识点详解

消息队列场景 什么是消息队列 可以把消息队列理解一个使用队列来通信的组件&#xff0c;它的本质是交换机队列的模式&#xff0c;实现发送消息&#xff0c;存储消息&#xff0c;消费消息的过程。 我们通常说的消息队列&#xff0c;MQ其实就是消息中间件&#xff0c;业界中比较…...

AI 赋能 3D 创作!Tripo3D 全功能深度解析与实操教程

大家好&#xff0c;欢迎来到本期科技工具分享&#xff01; 今天要给大家带来一款革命性的 AI 3D 模型生成平台 ——Tripo3D。 无论你是游戏开发者、设计师&#xff0c;还是 3D 建模爱好者&#xff0c;只要想降低创作门槛、提升效率&#xff0c;这款工具都值得深入了解。 接下…...

DeepSeek赋能Nuclei:打造网络安全检测的“超级助手”

引言 各位少侠&#xff0c;周末快乐&#xff0c;幸会幸会&#xff01; 今天唠一个超酷的技术组合——用AI大模型给Nuclei开挂&#xff0c;提升漏洞检测能力&#xff01; 想象一下&#xff0c;当出现新漏洞时&#xff0c;少侠们经常需要根据Nuclei模板&#xff0c;手动扒漏洞文章…...

【MySQL】表的约束(主键、唯一键、外键等约束类型详解)、表的设计

目录 1.数据库约束 1.1 约束类型 1.2 null约束 — not null 1.3 unique — 唯一约束 1.4 default — 设置默认值 1.5 primary key — 主键约束 自增主键 自增主键的局限性&#xff1a;经典面试问题&#xff08;进阶问题&#xff09; 1.6 foreign key — 外键约束 1.7…...

学习深度学习是否要先学习机器学习?工程师的路径选择策略

深度学习与机器学习的关系&#xff0c;如同摩天大楼与地基——前者是后者的高阶延伸&#xff0c;但能否绕过地基直接造楼&#xff1f;本文从技术本质、学习曲线、应用场景三个维度剖析这一关键问题。 一、技术血脉的承继关系 概念体系同源&#xff1a; 损失函数、梯度下降、过拟…...

高防服务器适合哪些行业使用

在当今数字化的时代&#xff0c;网络安全就如同城堡的城墙&#xff0c;而高防服务器则是这道城墙中的坚固堡垒。那么&#xff0c;究竟哪些行业特别需要高防服务器这位“守护天使”的庇佑呢&#xff1f; 首先&#xff0c;金融行业绝对是高防服务器的“头号粉丝”。想象一下&…...

【Docker-16】Docker Volume存储卷

Docker Volume(存储卷) 概念比喻镜像程序的光盘&#xff08;安装包&#xff09;容器安装并运行后的 App卷独立的文件夹或硬盘&#xff0c;用来保存数据宿主机装着 Docker 的电脑或服务器&#xff0c;是一切的基础 一、什么是存储卷? 存储卷就是将宿主机的本地文件系统中存在…...

后端如何生成验证码

目录 &#x1f510; 一、验证码类型与用途 &#x1f4f8; 二、图形验证码的原理&#xff08;Image Captcha&#xff09; &#x1f527; 核心流程 &#x1f6e0;️ 示例&#xff1a;用 Python Pillow 生成图形验证码 &#x1f4f1; 三、数字验证码&#xff08;短信/邮箱&a…...

微服务架构下数据库范式的失效与反范式设计的崛起

在传统单体应用中&#xff0c;关系型数据库范式设计被认为是数据库建模的黄金标准。然而&#xff0c;随着企业架构向分布式系统&#xff0c;特别是微服务架构演进&#xff0c;范式化数据库设计的有效性和适应性正受到前所未有的挑战。本文将深入剖析范式设计的设计哲学&#xf…...

Redis专题

前言 一&#xff1a;看到你的简历上写了你的项目里面用到了redis&#xff0c;为啥用redis&#xff1f; 因为传统的关系型数据库如Mysql,已经不能适用所有的场景&#xff0c;比如秒杀的库存扣减&#xff0c;APP首页的访问流量高峰等&#xff0c;都很容易把数据库打崩&#xff0…...

Vue的模板语法——指令语法

2025/4/21 向全栈工程师迈进&#xff01; 一、插值语法 之前通过插值语法&#xff0c;其显示的效果如下。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widt…...

【Java面试笔记:基础】1.谈谈你对Java平台的理解?

前言 Java 是历史悠久且主流的编程语言&#xff0c;拥有庞大的开发者群体和广泛的应用领域。通过系统学习和实践&#xff0c;构建扎实的 Java 知识体系&#xff0c;提升面试成功率 笔记核心内容 1. Java 平台的核心特性 跨平台特性&#xff1a;Java 的核心特性之一是“Writ…...

NestJS-Knife4j

文章目录 前言✅ 一、什么是 Knife4j&#xff1f;✅ 二、Knife4j 与 Swagger 对比✅ 三、NestJS-Knife4j 集成1. 安装依赖2. 配置 Swagger 与 Knife4j3. 启动应用并访问接口文档 ✅ 四、功能增强1. **接口分组**2. **请求/响应示例**3. **接口文档的美化** ✅ 五、总结 前言 N…...

Linux环境准备(安装VirtualBox和Ubuntu,安装MySQL,MySQL启动、重启和停止)

目录 安装VirtualBox和Ubuntu 安装VirtualBox 安装Ubuntu 下载Ubuntu操作系统的镜像文件 创建虚拟机 虚拟机设置 启动虚拟机&#xff0c;安装Ubuntu系统 Ubuntu基础设置 设置系统为中文 设置中文输入法为拼音 修改分辨率 设置缩放比例 设置息屏时间 设置root用户…...

Nebula图数据库

Nebula 通常指 Nebula Graph&#xff0c;是一款开源的分布式图数据库系统1。以下是其相关介绍1&#xff1a; 特点 高性能&#xff1a;能处理千亿顶点和万亿边的超大规模数据集&#xff0c;提供毫秒级查询延迟&#xff0c;在处理大规模数据时&#xff0c;也能维持低时延的读写和…...

基于 Vue,使用Vuex 或事件总线实现跨组件通信

在基于 Vue Element UI 的 RuoYi 系统中&#xff0c;如果需要在一个界面&#xff08;界面 A&#xff09;执行某个操作后&#xff0c;通知另一个界面&#xff08;界面 B&#xff09;刷新&#xff0c;可以通过 Vuex 或事件总线&#xff08;Event Bus&#xff09;来实现跨组件通信…...

【C++篇】string类的终章:深浅拷贝 + 模拟实现string类的深度解析(附源码)

&#x1f4ac; 欢迎讨论&#xff1a;在阅读过程中有任何疑问&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果你觉得这篇文章对你有帮助&#xff0c;记得点赞、收藏&#xff0c;并分享给更多对C感兴趣的…...

线性DP:最短编辑距离

Dp 状态表示 f&#xff08;i&#xff0c;j&#xff09; 集合所有将A[1~i]变成B[1~j]的操作方式属性min 状态计算 &#xff08;划分&#xff09; 增f(i,j)f(i,j-1)1//A[i]元素要增加&#xff0c;说明A前i位置与B前j-1相同删f(i,j)f(i-1,j)1//A[i]元素要删除&#xff0c;说明A前i…...

【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例

【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例 导图概述 本文通过高清思维导图系统梳理了23种设计模式&#xff0c;分为创建型、结构型、行为型三大类&#xff0c;并标注了各模式在主流框架&#xff08;如React、Vue、Spring&#xff09;中的典型应用场…...

8086微机原理与接口技术复习(1)存储器(2)接口

8086微机原理与接口技术复习&#xff08;1&#xff09;存储器&#xff08;2&#xff09;接口 存储器8086的存储空间存储器的拓展存储器的分类 接口8086I/O82558253串行通信 存储器 我们上的是嵌入式与接口技术这门课&#xff0c;存储器章节重点在于理解8086CPU的存储体结构&am…...

第 6 篇:衡量预测好坏 - 评估指标

第 6 篇&#xff1a;衡量预测好坏 - 评估指标 上一篇&#xff0c;我们小试牛刀&#xff0c;用朴素预测、平均法、移动平均法和季节性朴素预测这几种简单方法对未来进行了预测。我们还通过可视化将预测结果与真实值进行了对比。 但光靠眼睛看图来判断“哪个预测更好”往往是不…...

极刻AI搜v1.0 问一次问题 AI工具一起答

软件名&#xff1a;极刻AI搜 版本&#xff1a;v1.0 功能&#xff1a;囊括了互联网上比较好用的一些支持”搜索“的网站或者工具 开发平台&#xff1a;nodepythonweb 分类有&#xff1a; AI搜索&#xff08;支持智能问答的AI搜索引擎&#xff09; 常规搜索&#xff1a;&#xff…...

单片机 + 图像处理芯片 + TFT彩屏 进度条控件

进度条控件使用说明 概述 本进度条控件基于单片机 RA8889/RA6809 TFT开发&#xff0c;提供了简单易用的进度显示功能。控件支持多个进度条同时显示、自定义颜色、边框和标签等特性&#xff0c;适用于需要直观显示进度信息的各类应用场景。 特性 支持多个进度条同时显示可…...

RHCSA Linux系统 用户和组的管理

用户管理&#xff1a;增useradd 删userdel 改usermod 查id 组的管理&#xff1a;增groupadd 删groupdel 改groupmod 查groups /etc/default/useradd 即定义useradd默认参数&#xff0c;也定义了/etc/passwd &#xff0c;/etc/shadow&#xff0c;/etc/group&#…...

2025年pta团队设计天梯赛题解

题解不全&#xff0c;望见谅 L1-1 珍惜生命 题目 前辈工程师 Martin Golding 教育我们说&#xff1a;“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”&#xff08;写代码的时候&#xff0c;总是要…...

Vue---vue2和vue3的生命周期

核心生命周期对比 生命周期阶段Vue 2 钩子Vue 3 Composition API​​初始化​​beforeCreate无&#xff08;使用 setup() 替代&#xff09;​​初始化完成​​created无&#xff08;使用 setup() 替代&#xff09;​​挂载前​​beforeMountonBeforeMount​​挂载完成​​moun…...

C#常用LINQ

在开发时发现别人的代码使用到了LINQ十分便捷且清晰&#xff0c;这里记录一下常用LINQ和对应的使用。参考链接&#xff1a;LINQ 菜鸟教程 使用的学生类和字符串用于测试 public class Student {public int StudentID;public string StudentName;public int Age; }Student[] st…...

Java--数组的应用

一、数组的地址值 数组的地址值表示数组在内存中的位置。 [I1eb44e46 [ &#xff1a;表示当前是一个数组I&#xff1a;表示当前数组是int类型&#xff1a;表示一个间隔符号&#xff08;固定格式&#xff09;1eb44e46&#xff1a;数组真正的地址值&#xff08;十六进制&#…...

PostgreSQL基础

一、PostgreSQL介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。 PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议&#xff0c;这个协议基本和MIT开源协议一样&#xff0c;说人话&#xff0c;就是你可以对PostgreSQL进行一些封装&a…...

Linux系统管理与编程13:基于CentOS7.x的LAMP环境部署

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 一、实验目标 1.理解Apache服务器原理 2.掌握Apache服务器的配置文件 3.具备安装Mysql数据库能力 4.具备安装Apache服务器能力 5.具备PHP与数据库连接能力 6.具备Apache、Mysql、…...

浅谈AI致幻

文章目录 当前形势下存在的AI幻觉&#xff08;AI致幻&#xff09;什么是AI幻觉AI幻觉的类型为什么AI会产生幻觉AI幻觉的危害与影响当前应对AI幻觉的技术与方法行业与学术界的最新进展未来挑战与展望结论 当前形势下存在的AI幻觉&#xff08;AI致幻&#xff09; 什么是AI幻觉 …...

【架构】-- StarRocks 和 Doris 介绍与选型建议

StarRocks 和 Doris 的介绍 随着大数据分析需求的不断增长,企业对高性能、低延迟的分析型数据库提出了更高的要求。StarRocks 和 Apache Doris 是当前主流的开源 MPP(Massively Parallel Processing)数据库系统,广泛应用于实时分析、报表生成和数据仓库等场景。本文将从架…...

【SF顺丰】顺丰开放平台API对接(注册、API测试篇)

1.注册开发者账号 注册地址&#xff1a;顺丰企业账户中心 2.登录开发平台 登录地址&#xff1a;顺丰开放平台 3.开发者对接 点击开发者对接 4.创建开发对接应用 开发者应用中“新建应用”创建应用&#xff0c;最多创建应用限制数量5个 注意&#xff1a;需要先复制保存生产校验…...

C语言高频面试题——常量指针与指针常量区别

1. 常量指针&#xff08;Pointer to Constant&#xff09; 定义&#xff1a; 常量指针是指向一个常量数据的指针&#xff0c;即指针指向的内容不能通过该指针被修改。 语法&#xff1a; const int* ptr;或者&#xff1a; int const* ptr;解释&#xff1a; const修饰的是指…...

Novartis诺华制药社招入职综合能力测评真题SHL题库考什么?

一、综合能力测试 诺华制药的入职测评中&#xff0c;综合能力测试是重要的一部分&#xff0c;主要考察应聘者的问题解决能力、数值计算能力和逻辑推理能力。测试总时长为46分钟&#xff0c;实际作答时间为36分钟&#xff0c;共24题。题型丰富多样&#xff0c;包括图形变换题、分…...

网页下载的m3u8格式文件使用FFmpeg转为MP4

FFmpeg 是一个强大的开源音视频处理工具&#xff0c;可以直接将 M3U8 合并并转换为 MP4。 1.步骤&#xff1a; 下载 FFmpeg 官网&#xff1a;https://ffmpeg.org/ Windows 用户可以直接下载 静态构建版本&#xff08;Static Build&#xff09;&#xff0c;解压后即可使用。 2…...

Java 并发包核心机制深度解析:锁的公平性、异步调度、AQS 原理全解

&#x1f9e0; Java 并发包核心机制深度解析&#xff1a;锁的公平性、异步调度、AQS 原理全解 Java 并发编程的地基是 java.util.concurrent&#xff0c;但真正驱动这个系统的&#xff0c;是它背后隐藏的三根支柱&#xff1a; ReentrantLock 的公平/非公平调度策略Completabl…...

μC/OS 版本演进过程 | uC/OS-II 和 uC/OS-III 有什么区别?

uC/OS 系列是由 Jean J. Labrosse 开发的一套嵌入式实时操作系统&#xff08;RTOS&#xff09;&#xff0c;以其高质量源码和清晰的结构&#xff0c;在嵌入式教学和某些工业项目中有着广泛影响。该系统主要包含两个版本&#xff1a;uC/OS-II 和 uC/OS-III。 本文将带你了解这两…...

永磁同步电机参数辨识算法--递推最小二乘法辨识

一、原理介绍 最小二乘法大约是1795年高斯在其著名的星体运动轨道预报研究工作中提出的。后来&#xff0c;最小二乘法成为了估计理论的基石。最小二乘法由于原理简明、收敛较快、易于编程实现等特点&#xff0c;在系统参数估计中应用相当广泛。 其基本原理为&#xff1a; 改写…...

树莓派5+L298N控制电机

准备工作: 树莓派5开发板L298N 控制板电机1个12v的电池1个杜邦线若干L298N 引脚介绍 (1)图中标注的1和2都是都在输出引脚,可以各接入一个电机,电机不分正负极,随便接 (2)图中3这里是控制板的电源输入正负极,可以输入5v和12v,我这里输入的是12v电源,使用的时候应该把…...

UofTCTF-2025-web-复现

感兴趣朋友可以去我博客里看&#xff0c;画风更好看 UofTCTF-2025-web-复现 文章目录 scavenger-huntprismatic-blogscode-dbprepared-1prepared-2timeless scavenger-hunt 国外的一些ctf简单题就喜欢把flag藏在注释里&#xff0c;开源代码找到第一部分的flag 抓个包返回数据…...

记录seatunnel排查重复数据的案例分析

文章目录 背景分析检查现象检查B集群是否有异常&#xff0c;导致重复消费的分析同步任务 修复问题发现flink job 一直报异常修复问题 背景 使用seatunnel 同步数据从A 集群kafka 同步到B集群kafka,现象是发现两边数据不一致&#xff0c;每天10w级别会多几十条数据 分析 检查…...

技术速递|Agent 模式:对所有用户开放,并支持 MCP

作者&#xff1a;Isidor Nikolic 翻译/排版&#xff1a;Alan Wang Agent 模式正在向所有 VS Code 用户推广&#xff01;它充当一个自主的配对编程助手&#xff0c;能够根据你的指令执行多步编码任务&#xff0c;例如分析代码库、提出文件修改建议以及运行终端命令。它能够响应编…...

实验四 Java图形界面与事件处理

实验四 Java图形界面与事件处理 ###实验目的 掌握Java语言中AWT和Swing组件的基本用法掌握Java语言中的事件处理方法掌握Java语言中事件源、监视器和处理事件的接口的概念 ###实验内容 图形用户界面设计程序(ArtFont.java)&#xff08;90分&#xff09; 要求&#xff1a;设…...