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

【STM32】 工程

  •  🚩 WRITE IN FRONT 🚩   
  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云专家博主、掘金优秀创作者、全网粉丝量6w+、全网访问量100w+ 🏅
  • 🆔 文章内容由 謓泽 原创 如需相关转载请提前告知博主
  • 📝 个人主页:謓泽的博客 📃
  • 📣 专栏系列:STM32-单片机謓泽的博客 📃
  • 🎁 点赞👍+ 收藏⭐️+ 留言📝​
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 

₀前言

STM32的工程结构还是比较复杂的,需要我们用到很多的文件。以后我们的代码也都是需要建立在工程结构上的,所以这篇博客文章就讲解一下STM32的工程。

⒈开发方式

目前STM32的开发方式主要有以下几种⇲

  1. 寄存器方式
  2. 标准库「库函数的方式和基于HAL库的方式」

基于寄存器的方式和五一单片机的开发方式是一样的。是我们使用程序直接配置寄存器,来达到我们想要的功能。这种方式是最底层、最直接、效率也会更高一些。但是由于STM32相比于五一来说结构复杂,寄存器太多,所以基于寄存器的方式目前是不推荐的。✘

基于库函数的方式是ST官方提供封装好的函数,通过调用这些函数来间接的配置这些寄存器,由于ST寄存器的封装比较好,所以用这种方式既能够满足对寄存器的配置,对开发人员也是比较友好,有利于提高效率的开发。基于HAL库的方式可以用图形化界面快速配置STM32,这个就比较适用于快速上手STM32的情况了,但是这种方式会隐藏了底层的逻辑。如果你对STM32不够熟悉的化,基本只能够停留在很浅的水平上。所以不推荐HAL库,但是等你学过标准库之后是可以去了解以下的。✔

📃那么使用库函数的方式可以使用STM32的库函数的压缩包,这里可以去我发的这个链接下的简介里面去找到。男神一枚❤

STM32入门教程-2022持续更新中_哔哩哔哩_bilibili        🍻大家也可以多去支持他的视频顺便投个币啥的哟,讲的真的特别好,好的视频尤其是学习类的拒绝白嫖党✘哈哈哈🙈

⒉STLINK

操作方式⇢STM32最小系统板、STLINK和四根杜邦线,按照插针上的标识符。把3.3V、SWDIO、SWCLK、GND对应的连接好来。

⒊新建工程步骤

  1. 建立工程文件夹,Keil中新建工程,选择型号。
  2. 工程文件夹里建立StartLibraryUser等文件夹,复制固件库里面的文件到工程文件夹。
  3. 工程里对应建立StartLibraryUser等同名称的分组,然后将文件夹内的文件添加到工程分组里。
  4. 工程选项,C/C++Include Paths内声明所有包含头文件的文件夹。
  5. 工程选项,C/C++Define内定义。USE_STDPERIPH_DRIVER。
  6. 工程选项,Debug,下拉列表选择对应调试器,SettingsFlash Download里勾选Reset and Run。

⒋ 工程架构

http://www.lryc.cn/news/132070.html

相关文章:

  • Git概述
  • ubuntu 编译安装nginx及安装nginx_upstream_check_module模块
  • 近 2000 台 Citrix NetScaler 服务器遭到破坏
  • MySQL MVCC的详解之Read View
  • 基于springboot+vue的考研资讯平台(前后端分离)
  • 学习网络编程No.3【socket理论实战】
  • Linux学习之ssh和scp
  • 录制游戏视频的软件有哪些?分享3款软件!
  • 每日一题——螺旋矩阵
  • 前端面试的性能优化部分(12)每天10个小知识点
  • SAP BTEs 业务交易事件/增强(Business Transaction Event)
  • leetcode做题笔记90. 子集 II
  • “开发和运维”只是一个开始,最终目标是构建高质量的软件工程
  • 自学C#,要懂得善用MSDN
  • mac上如何压缩视频大小?
  • git merge规则
  • 【周末闲谈】关于“数据库”你又知道多少?
  • C++ 对象生成:构造函数
  • RFID如何在汽车混流生产中进行车辆跟踪?
  • 差值结构的复合底部
  • 在Docker 上使用 Nginx 配置https及wss
  • git回退操作
  • C++系列-类和对象-静态成员
  • SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)2- 品目Code振替转记 和 在库转送
  • 【Python机器学习】实验13 基于神经网络的回归-分类实验
  • 【数据结构】二叉树的链式结构的实现 -- 详解
  • 【C语言】什么是结构体内存对齐?结构体的大小怎么计算?
  • 【Redis】Redis中的布隆过滤器
  • 接口测试 —— Jmeter 参数加密实现
  • Linux c语言字节序