新建工程——STM32学习笔记2

news/2024/11/16 16:02:28/文章来源:https://www.cnblogs.com/lvinnie/p/18406393

目录

  • 新建工程
  • 添加启动程序Start
  • 添加内核程序Core

相关资料下载
下载链接(来自B站江协科技)
通过百度网盘分享的文件:STM32入门教程资料
链接:https://pan.baidu.com/s/17_sbwMXU-xBVFA2sK0smrg?pwd=cgn6
提取码:cgn6


STM32开发方式有3种,分别是基于寄存器开发、基于标准库以及HAL库的开发方式。

  1. 寄存器开发方式最为底层,性能最强,但STM32目前结构复杂,寄存器太多,不推荐使用这种方式
  2. 基于库函数开发方式则是使用ST官方提供的封装函数,通过这些函数来间接的调用配置寄存器,ST对函数封装较好,既能满足对寄存器的配置,对开发人员也比较友好,提高开发效率
  3. 基于HAL库方式,可以使用图形化界面快速配置STM32,但隐藏了底层逻辑,不利于深入理解。

新建工程

在Keil5上方的Project->new uVersion Project... 新建工程

在这里提示要新建项目开发板,我们这里使用的是"STM32F103C8",如果没有STMicroelectronics的芯片选择,可以看看上一期的环境搭建。

来到下载好固件库,将STM32F10x系列的库函数压缩包解压

进入库函数文件夹后可以看到如下内容

文件名 作用说明
_htmresc Logo图片
Librairs 库函数文件
Project 工程示例
Utilities 评估版,用于测评STM32
Release_Notes.html 发布文档
stm32f10x_stdperiph_lib_um.chm 库函数使用手册

添加启动程序Start

  1. 在工程目录下新建文件夹"Start",用于存放STM32启动程序
  2. 在固件库STM32F10x_StdPeriph_Lib_V3.5.0的库函数Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下找到启动程序,全部复制到工程文件目录下的新建的Start目录里

3.接着返回到STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x,可以看到三个代码文件和一个说明手册

文件名 作用说明
Release_Notes.html STM32F10x库函数说明手册
stm32f10x.h 外设寄存器描述文件,用于描述STM32有哪些寄存器和对应地址
system_stm32f10x.c/system_stm32f10x.h 用于配置时钟

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

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

相关文章

Java八股复习指南-集合

Java集合 Map HashMap 实现原理/底层 Java1.8之前:数组加链表 Java1.8之后:当一个链表的长度超过8,且数组大小超过64时,会将链表转换成红黑树存储,查找效率更高,时间复杂度O(log n)。如果长度超过8,但是数组容量不足64,则会选择扩容数组。 定位算法 计算key的哈希值,并…

幂函数与指数函数区别

本文来自博客园,作者:cytlz2730,转载请注明原文链接:https://www.cnblogs.com/cytwjyy/p/18407701

zabbix“专家坐诊”第255期问答

问题一 Q:大家好,问一下,zabbix做聚合图的时候,可以做到两根线在一个图里- 吗?还是说只能,单边计算聚合,然后再最后作图的时候,添加两条线上去A:两个数据吗 Q:是的。一个端口,有进有出 A:如果是两个监控项可以做到聚和一起问题二 Q:请问大佬们,这个加密是干嘛的?…

项目管理方法,方法和框架–初学者指南

项目可以通过各种方式成功结束。但是,最好,最受欢迎的项目管理方法,方法和框架总是在变化。新概念无时无刻不在出现。所有成功的项目都包含一整套方法,工具和技术。实际上,作为项目管理从业人员,您一生中可能会使用其中的一种以上。 但是,项目管理方法论,方法和框架不仅…

Nodejs-child_process模块解读

在 Node.js 应用程序中,child 进程模块非常重要,有了它可以实现并行处理,这在资源密集型在 Node.js 应用程序中,child 进程模块非常重要,有了它可以实现并行处理,这在资源密集型任务里十分重要。 在本文中,我们将看一下 child 进程模块,解释其目的、使用方式以及如何使…

HPC环境下数据下载:安全与效率的完美平衡!

在能源行业,高性能计算(HPC)应用广泛,比如地震数据处理、油气藏模拟和建模、地理空间分析、风模拟和地形映射等。随着数据量的爆发式增长,HPC环境下数据下载面临着严峻的安全挑战,如何在保障数据高效流转的同时,确保数据安全,成为能源企业必须面对的重要课题。 高性能…

【干货分享】Ftrans安全数据交换系统 搭建跨网数据传输通道

安全数据交换系统是一种专门设计用于在不同的网络、系统或组织之间安全地传输数据的软件或硬件解决方案。这种系统通常包含多种安全特性,以确保数据在传输过程中的保密性、完整性和可用性。 安全数据交换系统可以解决哪些问题? 安全数据交换系统主要解决以下问题: 数据泄露风…

采集DNP3设备数据 转 IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置网关采集DNP3协议数据 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 6 7 案例总结 7 1 案例说明设置网关采集DNP3协议设备数据 把采集的数据转成IEC61850协议转发给其他系统。2 VFBOX网关…

强!70.3K star ! 推荐一款功能强大、开源、可视化的性能实时监控系统:Netdata

在当今复杂多变的IT环境中,系统性能的实时监控与分析对于确保业务连续性、系统稳定运行以及快速故障排查至关重要。随着云计算、大数据和微服务架构的普及,对监控系统的要求也日益增高。 今天给大家推荐一款性能监控工具为:Netdata。 它作为一款开源、实时、轻量级的系统性能…

windows 上 Tauri 开发环境配置

Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架,同时可以在必要时使用 Rust、Swift 和 Kotlin 等语言编写后端逻辑。 Tauri 使用 Microsoft C++ 构建工具进行…

南沙C++信奥老师解一本通题:1203:扩号匹配问题

​ 【题目描述】在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹…