STM32G030C8T6:使用外部晶振配置LED灯闪烁

本专栏记录STM32开发各个功能的详细过程,方便自己后续查看,当然也供正在入门STM32单片机的兄弟们参考;

本小节的目标是,使用STM32G030C8T6单片机,通过STM32CubeMX软件,配置并使用外部8MHz晶振,实现PB4引脚的LED灯每一秒钟闪烁一次;
涉及到的知识有:外部晶振的配置,配置引脚为输出,STM32CubeMX的使用
我是将PB4引脚接的LED,所以本小节是以PB4为例记录的,如果需要将其他引脚配置为LED灯,那将PB4改为其他对应的引脚即可。

文章目录

  • 1 新建工程
  • 2 配置SWD下载引脚
  • 3 配置RCC
  • 4 设置系统主频
  • 5 配置GPIO输出
  • 6 生成工程
  • 7 增加代码实现LED闪烁
  • 8 STM32CubeMX使用总结

1 新建工程

点击File 菜单下的New Project

在这里插入图片描述

选择芯片型号,如下图所示先输入芯片型号,目前这边输入STM32G030C8,

在这里插入图片描述

双击选择,就确定了芯片型号,界面会变成如下图所示

在这里插入图片描述

2 配置SWD下载引脚

如下图所示,在Pinout&Configuration 栏目的System Core 下,先点击SYS,再勾选Serial Wire 框,
配置好SWD 下载引脚设置:

在这里插入图片描述

3 配置RCC

如下图,先点击RCC,在HSE 配置中选择Crystal/Ceramic Resonator 外部晶振设

在这里插入图片描述

4 设置系统主频

如下图, 先点击Clock Configuration 栏目,按下图的1,2,3,4 步骤完成系统64MHZ 主频设置:

在这里插入图片描述

5 配置GPIO输出

按下图 的1,2,3 步骤完成PB4 引脚配置成GPIO 输出设置:

在这里插入图片描述
配置成功后如下图所示:
在这里插入图片描述

6 生成工程

按照下图的步骤,进行项目配置,项目名称和路径设置等,生成项目的类型选择STM32CubeIDE(我这里以STM32CubeIDE为例,如果你要试用keil5,那就选择MDK-RAM,如果要使用makefile,就选择Makefile),注意项目名称和路径不要有中文名;
在这里插入图片描述

最后全部设置完毕后点击create code,生成项目代码:

在这里插入图片描述

生成的工程如下图所示:
在这里插入图片描述

7 增加代码实现LED闪烁

点击上一步生成的.project文件,会打开STM32CubeIDE,然后在main.c中,输入以下代码,控制LED闪烁,如下图所示:

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_4);
HAL_Delay(500);

在这里插入图片描述
至此,编译并调试,即可成功实现LED的闪烁;

8 STM32CubeMX使用总结

STM32CubeMX是一款由STMicroelectronics开发的集成开发环境(IDE)工具,用于快速配置和生成基于STM32微控制器的项目。它提供了一个直观的图形界面,使开发人员能够轻松地进行微控制器的配置和初始化设置,包括引脚映射、时钟配置、外设配置等。

以下是使用STM32CubeMX的一般步骤:

下载和安装STM32CubeMX:
你可以从STMicroelectronics的官方网站下载适用于你的操作系统的最新版本的STM32CubeMX,并按照安装向导进行安装。

打开STM32CubeMX:
打开STM32CubeMX应用程序,你将看到一个空白的项目窗口。

创建一个新项目:
在项目窗口中,点击"New Project"按钮,选择你的STM32微控制器型号,并选择你的开发板。

配置微控制器:
在配置选项卡中,你可以配置引脚映射、时钟设置、外设配置等。根据你的项目需求,进行相应的配置。

引脚映射:在Pinout & Configuration选项卡中,你可以选择每个引脚的功能,如GPIO、UART、SPI等,并进行相应的映射设置。

时钟设置:在RCC Configuration选项卡中,你可以配置系统时钟和外设时钟的频率和源。

外设配置:在Peripherals选项卡中,你可以选择需要使用的外设,并进行相应的配置,如UART、SPI、I2C等。

生成代码:
点击"Project"选项卡,在右侧窗口中选择你想要生成的代码类型(例如,基于HAL库的代码),然后点击"Generate Code"按钮。STM32CubeMX将根据你的配置生成相应的初始化代码。

导入到IDE:
将生成的代码导入到你选择的集成开发环境(IDE)中,例如Keil、IAR等。在IDE中,你可以编写你的应用程序代码,并进行编译和调试。

开发和编程:
在IDE中编写你的应用程序代码,并使用相应的编程工具将代码烧录到STM32微控制器中。你可以使用调试器进行单步调试和观察变量的值,以确保代码的正确性和功能的正常运行。

总结起来,使用STM32CubeMX可以简化STM32微控制器的配置和初始化过程,提高开发效率。它提供了直观的图形界面,帮助开发人员轻松配置引脚映射、时钟设置和外设配置,并生成相应的初始化代码,使得开发过程更加便捷。通过将生成的代码导入到集成开发环境中,你可以编写应用程序代码并进行编译、调试和烧录,从而完成STM32微控制器的开发和编程工作。

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

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

相关文章

6. Service详解

6. Service详解 文章目录 6. Service详解6.1 Service介绍6.2 Service类型6.3 Service使用6.3.1 实验环境准备6.3.2 ClusterIP类型的Service6.3.3 HeadLess类型的Service6.3.3.1 deployment和statefulset区别6.3.3.2 statefulset deployment 区别 6.3.4 NodePort类型的Service6.…

扩展操作码指令格式

指令 操作码地址码 \quad \quad 判断几地址指令 开头4位不是全1, 则表示是三地址指令 开头4位全1, 后面4位不是全1, 则为二地址指令 前面12全1, 则为零地址指令 当然啦这只是一种扩展方法, 如果想扩展更多, 可以将1110留作扩展操作码 较短的操作码, 我们对它的译码和分析的时间…

点云几何 之 判断某一点是否在三角形的边上(3)

点云几何 之 判断某一点是否在三角形的边上(3) 一、算法介绍二、算法实现1.代码2.结果 总结 一、算法介绍 判断某一点是否在三角形的边上 之前已经介绍了点在三角形的内外判断方法,这里增加点恰好在三角形边上的判断方法 (本质上…

节流防抖:提升前端性能的秘密武器(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

vue3使用mars3d实现地图轮播高亮,且每个区域颜色不一样

效果图(珙县就是轮播高亮的效果) 思路:初始化一张完整的地图,然后定时器去挨个生成每个县上的地图,并且覆盖在原来的位置,每到一定的时间,就清除之前生成高亮图并且生成下一张高亮图 如何引入地图 上篇文章已详细发过 略 父组…

【JavaWeb学习笔记】7 - Servlet入门开发

零、在线文档 Servlet 3.1 API Documentation - Apache Tomcat 8.0.53 一、Servlet基本介绍 1.为什么出现Servlet 提出需求:请用你现有的html css javascript,开发网站,比如可以让用户留言/购物/支付,你能搞定吗? 不能 这几个不能直接操作数据库 …

Java 语言关键字

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量…

20231213给Ubuntu18.04.6LTS新加一块HDD机械硬盘

20231213给Ubuntu18.04.6LTS新加一块HDD机械硬盘 2023/12/13 22:50 rootrootrootroot-X99-Turbo:~$ cat /etc/issue Ubuntu 18.04.6 LTS \n \l sudo fdisk -l rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo fdisk -lu Disk /dev/sda: 2.7 TiB, 300059298…

【源码解析】flink sql执行源码概述:flink sql执行过程中有哪些阶段,这些阶段的源码大概位置在哪里

文章目录 一. sql执行流程源码分析1. Sql语句解析成语法树阶段(SQL - > SqlNode)2. SqlNode 验证(SqlNode – >Operation)3. 语义分析(Operation - > RelNode)4. 优化阶段(RelNode - &…

LangChain 25: SQL Agent通过自然语言查询数据库sqlite

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

2023全国大学生数据分析大赛A题完整论文教学

大家好呀,从发布赛题一直到现在,总算完成了全国大学生数据分析大赛A题某电商平台用户行为分析与挖掘完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 实…

透析回溯的模板

关卡名 认识回溯思想 我会了✔️ 内容 1.复习递归和N叉树,理解相关代码是如何实现的 ✔️ 2.理解回溯到底怎么回事 ✔️ 3.掌握如何使用回溯来解决二叉树的路径问题 ✔️ 回溯可以视为递归的拓展,很多思想和解法都与递归密切相关,在很多…

Windows 网络监控的内容和方式

Microsoft Windows是使用最广泛的操作系统之一,受到全球用户的青睐,Windows 设备与许多进程、服务和事件相关联,这些进程、服务和事件通常需要从单个控制台进行跟踪,这就是 Windows 网络监控工具派上用场的地方。Windows 网络监控…

项目总结-自主HTTP实现

终于是写完了,花费了2周时间,一点一点看,还没有扩展,但是基本功能是已经实现了。利用的是Tcp为网络链接,在其上面又写了http的壳。没有使用epoll,多路转接难度比较高,以后有机会再写&#xff0c…

一张图片组合一组动作就可以生成毫无违和感的视频!

你敢信,1张人物图片 1张动作动画,就可以生成一段视频。网友直呼:“主播/视频UP主可能快要下岗了!” (模型视频来源于网络) 本周,字节跳动联合新加坡国立大学发布了一款开源项目 MagicAnimate&…

Linux Ubuntu 手动搭建webDav

1、安装 因为需要跟 zotero 进行交互,因此需要在服务器搭建一个webDav 以下是搭建步骤: sudo apt-get update sudo apt-get install apache2 Ubuntu 安装apache2来实现 不同于Centos 安装好了之后,运行 a2enmod dav_fs a2enmod dav 激…

【视频笔记】古人智慧与修行

古人的智慧 相由心生、老子悟道、佛祖成佛 多一些思考,多一些精神修炼。 除非我们今天能够产生与人类科技发展相并行的精神变革,否则永远可能也无法跳脱出历史的轮回。 视频来源 曾仕强教授周易的智慧 太极两仪四象八卦 一生二,二生三&…

大数据机器学习深度解读决策树算法:技术全解与案例实战

大数据机器学习深度解读决策树算法:技术全解与案例实战 本文深入探讨了机器学习中的决策树算法,从基础概念到高级研究进展,再到实战案例应用,全面解析了决策树的理论及其在现实世界问题中的实际效能。通过技术细节和案例实践&…

现代雷达车载应用——第2章 汽车雷达系统原理 2.5节 检测基础

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.5 检测基础 对于要测试目标是否存在的雷达测量,可以假定下列两个假设之一为真: •H0:—测量结果仅为噪声。 •H1:—测量是噪…