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

STM32入门开发操作记录(一)——新建工程

目录

  • 一、课程准备
    • 1. 课程资料
    • 2. 配件清单
    • 3. 根目录
  • 二、环境搭建
  • 三、新建工程
    • 1. 载入器件支持包
    • 2. 添加模块
    • 3. ST配置
    • 4. 外观设置
    • 5. 主函数文件

一、课程准备

1. 课程资料

  本记录操作流程参考自b站视频BV1th411z7snSTM32入门教程-2023版 细致讲解 中文字幕,课程资料包下载链接见视频简介,解压密码见资料txt文档。课程开始前请完成资料的下载、解压和整理,不要有同名目录

2. 配件清单

器件说明
STM32F103C8T6最小系统板
MB-102400孔面包板(含跳线)
ST-Link仿真器
CH340USB转TTL模块
HC-06无线蓝牙串口模块
HC-SR04超声波模块
LED3mm 红/绿/黄/蓝/白 发光二极管
有源蜂鸣器3V
OLED显示屏0.96寸
杜邦线21cm 2.54mm 公对公/母对母/公对母

  也可直接购买STM32F103ZET6开发实验板+ARM3嵌入式学习板 玄武F103 C1套件,但有少量元器件缺失,需自行补齐。

3. 根目录

  下面列出主要文件的下载目录,以便于下文对照路径进行操作。

类型名称
STM32入门教程资料Resource
IDE安装Keil5
工程文件Project


二、环境搭建

  进行以下安装操作时,若无特殊说明,一律按默认配置。

依赖项安装包目录说明
Keil uVision5Resource\Keil5 MDK\MDK524a集成开发环境(IDE)
STM32F1Resource\Keil5 MDK\支持包\Keil.STM32F1xx_DFP.2.2.0器件支持包
STLinkDriverKeil5\ARM\STLink\USBDriver\dpinst_amd6464位电脑STLink驱动
USB-TTLDriverResource\工具软件\USB转串口CH340驱动\CH341SERUSB转串口驱动

  Keil5安装和注册激活须参照STM32入门(一):Keil_5下载和安装教程进行,安装目录不建议设在C盘,路径不要有中文。

三、新建工程

1. 载入器件支持包

  以管理员身份运行Keil uVision5,新建一个项目文件,保存于创建的工程目录,并选择STM32F103C8器件支持包,然后全部OK.

请添加图片描述
请添加图片描述
请添加图片描述

2. 添加模块

  在工程目录Project下新建三个文件夹,将对应的文件复制粘贴过来,文件位置导航如下:

启动模块Start6

  • >>Resouce\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\
    startup_stm32f10x_md.s
  • >>Resouce\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\
    stm32f10x.hsystem_stm32f10x.hsystem_stm32f10x.c
  • >>Resouce\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\
    core_cm3.hcore_cm3.c


库函数处理模块User3

  • >>Resource\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\
    stm32f10x_conf.hstm32f10x_it.hstm32f10x_it.c


库函数模块Library

  • >>Resource\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\
    src\inc\两个目录下的所有头文件

  在Keil uVision5添加以上三个模块路径,以Start为例:新建目录重命名为Start并添加文件,在魔术棒Options for Target中添加路径。

请添加图片描述
请添加图片描述
请添加图片描述

3. ST配置

  在魔术棒里,将驱动定义为USE_STDPERIPH_DRIVER,然后将调试器设为ST-Link Debugger,并启动载入功能Reset and Run,全部OK.
请添加图片描述请添加图片描述
请添加图片描述

4. 外观设置

  在扳手Configuration里,编码格式设为utf-8字体大小设为size: 14缩进尺寸设为Tab size: 4
请添加图片描述
请添加图片描述

5. 主函数文件

  右键选中User新建文件main.c作为主函数文件。

请添加图片描述
请添加图片描述
  测试程序如下:

#include "stm32f10x.h"                  // Device header
//末行必须为空
int main(void)
{while(1){}
}

  F7编译,查看信息,工程构建成功。
请添加图片描述

相关文章:

STM32入门开发操作记录(一)——新建工程

目录 一、课程准备1. 课程资料2. 配件清单3. 根目录 二、环境搭建三、新建工程1. 载入器件支持包2. 添加模块3. ST配置4. 外观设置5. 主函数文件 一、课程准备 1. 课程资料 本记录操作流程参考自b站视频BV1th411z7snSTM32入门教程-2023版 细致讲解 中文字幕,课程资…...

QT实现自定义带有提示信息的透明环形进度条

1. 概述 做界面开发的童鞋可能都会遇到这样的需求,就是有一些界面点击了之后比较耗时的操作,需要界面给出一个环形进度条的进度反馈信息. 如何来实现这样的需求呢,话不多说,上效果 透明进度条 2. 代码实现 waitfeedbackprogressba…...

金币程序题

昨天,小孩问了我一个python编程竞赛题,我看了一下题目,是一个数列编程的问题,我在想,小学五年级的学生能搞得懂吗?反正我家小孩是没有搞懂,不知道别人家的小孩能不能搞明白。所以我花了一点时间…...

《Windows API每日一练》9.13资源-鼠标位图和字符串

鼠标指针位图(Mouse Cursor Bitmap)是用于表示鼠标指针外观的图像。在 Windows 窗口编程中,可以使用自定义的鼠标指针位图来改变鼠标的外观,并提供更加个性化的用户体验。 ■以下是一些与鼠标指针位图相关的要点: ●…...

【保姆级教程】CenterNet的目标检测、3D检测、关键点检测使用教程

一、代码下载 仓库地址:https://github.com/xingyizhou/CenterNet?tab=readme-ov-file 二、目标检测 2.1 下载预训练权重 下载预训练权重ctdet_coco_dla_2x.pth放到models文件夹下 下载链接:https://drive.google.com/file/d/18Q3fzzAsha_3Qid6mn4jcIFPeOGUaj1d/edit …...

thinkphp:数据库复合查询-OR的使用

完整代码 $data[info] db::table(po_headers_all)->alias(ph) //设置wip_jobs_all的别名->join([vendors > ve], ph.vendor_codeve.vendor_code)->field(ph.po_num,ph.status,ph.vendor_code,ve.vendor_name,ph.po_all_amount,ph.note,ph.order_date,ph.need_dat…...

网络安全那些梗

网络安全领域的梗往往以幽默、讽刺或夸张的方式反映了该领域的某些现象、挑战或误解。以下是一些网络安全相关的梗: 关掉服务器是最有效的安全方法:这个梗源自一个笑话,讲述了一位程序员因误解妻子的话而只买了一个包子回家,随后被…...

交通气象站:保障道路安全的智慧之眼

随着社会的快速发展,交通运输日益繁忙,道路安全成为公众关注的焦点。在这个背景下,交通气象站作为保障道路安全的重要设施,正发挥着越来越重要的作用。它们不仅为交通管理部门提供及时、准确的气象信息,也为广大驾驶员…...

【分库】分库的核心原则

目录 分库的核心原则 前言 分区透明性与一致性保证 弹性伸缩性与容错性设计 数据安全与访问控制机制 分库的核心原则 前言 在设计和实施分库策略时,遵循一系列核心原则是至关重要的,以确保系统不仅能够在当前规模下高效运行,还能够随着…...

【Linux】软件管理工具 yum

文章目录 概念搜索:yum list安装:yum install卸载:yum remove 概念 在Linux下安装软件,可以下载到程序的源代码,进行编译得到可执行程序,另外这些软件还有依赖其它工具的问题,还得下载编译这些依…...

LangChain —— Prompt Templates

文章目录 一、什么是 Prompt Templates1、String PromptTemplates2、ChatPromptTemplates3、MessagesPlaceholder 留言占位符 二、如何使用 Prompt Templates1、使用几个简短示例2、在 chat model 中使用几个简短示例3、部分格式化提示模板4、一起编写提示 一、什么是 Prompt T…...

Python库 - Scrapy

Scrapy 是一个用于爬取网站数据、提取结构性数据的开源和协作框架。它最初是为网页抓取设计的,但也可以用于获取 API 提供的数据或作为通用的网络爬虫。 文章目录 主要特性主要组件使用流程1. 安装 Scrapy2. 创建 Scrapy 项目3. 定义 Item(数据&#xff…...

函数(实参以及形参)

实际参数(实参) 实际参数就是在调用函数时传递给函数的具体值。这些值可以是常量、变量、表达式或更复杂的数据结构。实参的值在函数被调用时传递给对应的形参,然后函数内部就可以使用这些值来执行相应的操作。 int main() {int a 0;int b …...

ArcGIS Pro SDK (八)地理数据库 8 拓扑

ArcGIS Pro SDK (八)地理数据库 8 拓扑 文章目录 ArcGIS Pro SDK (八)地理数据库 8 拓扑1 开放拓扑和进程定义2 获取拓扑规则3 验证拓扑4 获取拓扑错误5 标记和不标记为错误6 探索拓扑图7 找到最近的元素 环境:Visual …...

uniapp如何发送websocket请求

方法1: onLoad() {uni.connectSocket({url: ws://127.0.0.1:8000/ws/stat/realTimeStat/,success: (res) > {console.log(connect success, res);}});uni.onSocketOpen(function (res) {console.log(WebSocket连接已打开!);uni.sendSocketMessage({d…...

RabbitMQ的工作模式

RabbitMQ的工作模式 Hello World 模式 #mermaid-svg-sbc2QNYZFRQYbEib {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-sbc2QNYZFRQYbEib .error-icon{fill:#552222;}#mermaid-svg-sbc2QNYZFRQYbEib .error-text{fi…...

自建搜索引擎-基于美丽云

Meilisearch 是一个搜索引擎,主程序完全开源,除了使用官方提供的美丽云服务(收费)进行对接之外,还可以通过自建搜索引擎来实现完全独立的搜索服务。 由于成本问题,本博客采用自建的方式,本文就…...

2024辽宁省大学数学建模竞赛试题思路

A题 (1) 建立模型分析低空顺风风切变对起飞和降落的影响 模型假设 飞机被视为质点,忽略其尺寸和形状对风阻的影响。风切变仅考虑顺风方向的变化,忽略其他方向的风切变。飞机的飞行速度、高度和姿态(如迎角、俯仰角)是变化的&am…...

循环结构(一)——for语句【互三互三】

文章目录 🍁 引言 🍁 一、语句格式 🍁 二、语句执行过程 🍁 三、语句格式举例 🍁四、例题 👉【例1】 🚀示例代码: 👉【例2】 【方法1】 🚀示例代码: 【方法2】…...

【深度学习基础】MacOS PyCharm连接远程服务器

目录 一、需求描述二、建立与服务器的远程连接1. 新版Pycharm的界面有什么不同?2. 创建远程连接3. 建立本地项目与远程服务器项目之间的路径映射4.设置保存自动上传文件 三、设置解释器总结 写在前面,本人用的是Macbook Pro, M3 MAX处理器&am…...

Seafile社区版12.0部署实战:从Docker Compose到企业级定制

1. 为什么选择Seafile社区版12.0? 如果你正在寻找一个开源的、可私有化部署的企业级文件同步与共享解决方案,Seafile社区版12.0绝对值得考虑。作为一个长期使用各种云存储解决方案的运维工程师,我发现Seafile在性能、稳定性和功能完整性方面都…...

Python 3.12+ 新特性与性能工程化:迁移清单与常见坑

[toc]> 专栏定位:Python 工程化进阶(第40章) > 适读人群:后端工程师、基础架构、计划升级 Python 运行时的团队摘要Python 3.12 起在解释器层面持续优化(如 inlined comprehensions、更好的错误信息、f-string …...

小程序毕业设计基于微信小程序的校园跑腿小程序

前言 在校园生活节奏紧凑、同学们事务繁忙的当下,Spring Boot 基于微信小程序的校园跑腿小程序应运而生,为师生们提供了便捷高效的代劳服务,让校园生活更加从容有序。借助 Spring Boot 强大的后端支撑以及微信小程序无需安装、触手可及的优势…...

终极指南:如何快速配置HsMod插件提升炉石传说游戏体验

终极指南:如何快速配置HsMod插件提升炉石传说游戏体验 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一个基于BepInEx框架开发的炉石传说游戏插件,专为希望提升游…...

MediaPipe人体骨骼检测:零配置Web应用,上传图片秒出骨架图

MediaPipe人体骨骼检测:零配置Web应用,上传图片秒出骨架图 1. 引言:一键式骨骼检测的便捷体验 想象一下这样的场景:健身教练需要快速分析学员的动作姿势,医生希望直观展示患者的骨骼姿态,或者动画师需要参…...

【AI图像创作变现】02提示词工程:从基础到精通的风格控制与商业应用

1. 提示词工程:AI图像创作的指挥棒 第一次接触AI绘图时,我像大多数人一样以为随便输入几个词就能得到完美作品。直到看到生成的"四不像"图片才明白,提示词不是许愿池,而是需要精确操作的调色盘。提示词工程本质上是用自…...

C++程序员逆袭之路:手把手教你转行大模型算法岗!

作为一名C程序员,你拥有强大的编程能力和对底层系统深入理解的优势。然而,如果你对大数据、深度学习和算法设计充满热情,转行到大模型算法岗位可能是一个充满挑战和机遇的职业转变。本文将为你提供一份详细的转行指南,帮助你从C开…...

模型调参实战指南:Temperature、Top-k与Top-p的黄金组合法则

1. 理解三大核心参数:从理论到实践 第一次接触大模型调参时,我被Temperature、Top-k和Top-p这三个参数搞得晕头转向。直到在真实项目中踩过几次坑后才明白,它们就像烹饪中的"盐、糖、醋"——看似简单,但配比不同就能产生…...

实战数据库设计:基于快马平台构建高并发在线考试系统核心数据层

今天想和大家分享一个实战项目——在线考试系统的数据库设计。这个项目是我在InsCode(快马)平台上完成的,整个过程让我深刻体会到合理的数据结构设计对系统性能的重要性。 核心表结构设计 在线考试系统的核心在于数据组织,我设计了5个主要表&#xff1…...

VRRP配置里这个‘坑’你踩过吗?详解track监视上行链路与流量黑洞问题

VRRP高可用架构中的隐形陷阱:深度解析上行链路监控与流量黑洞解决方案 当企业核心网络的网关设备突然"失联",但设备状态灯却依然闪烁着健康的绿色,这种看似矛盾的故障场景往往让运维团队陷入困境。上周深夜,某金融公司就…...