IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 0.5 - STM32工程模板的建立思路 -> 正文阅读

[嵌入式]0.5 - STM32工程模板的建立思路

本文参考了海创的视频和相关资料:

1.STM32的工程模板主要包含三种类型的文件:

????????1.库文件(官方提供的代码文件,不需要改,直接用的),

????????2.工程文件(用KEIL建立的),

????????3.用户文件(自己编写的代码文件,要自己改或写的)

所以要有三个文件夹,如下图:

2.官方提供的代码文件类型:????????

????????根据上面的思路,看一下官方提供的固件库里面有什么?

?要用的都在Library文件夹里面,里面是CMSIS文件外设驱动文件。

?其中CMSIS文件主要包含:

?core_cm3.c :控制内核外设的相关函数

?core_cm3.h :内核寄存器定义

?startup:? 启动文件,用汇编语言写的

?

?stm32f10x.h? 这个文件只有头文件,没有?.c?文件。并且这个文件中包含了 stm32f10x_conf.h?这个文件。

外设驱动文件包含:

文件的层级关系如下图:

?

(MCU = 内核 + 内核外设 + 片上外设)

所以官方提供的固件库里面,Library里面的文件就放置到我们自己建立的Lib文件夹里面。

3.我们编写的函数,都放在User这个里面,例如main函数,以及一些外设的驱动函数和头文件,还有中断服务函数都放在这里。_it 后缀的就是中断相关的程序文件。

其中 stm32f10x_conf.h (外设的头文件管理文件)这个文件比较特殊,这个文件没有.c文件,只有.h的头文件,这个文件的作用其实是为了简化编程工作量的,这个文件包含了外设驱动的所有头文件,当需要使用一些外设时,就不需要每次都把标准外设的头文件写一遍了,直接写一个? #include "stm32f10x.h"? 就可以了。

4.还有就是工程文件,这个是要用KEIL 5软件新建工程,并且编译时会生成一些文件,这些文件就都存放在这个文件夹里面。

?以上就是STM32工程模板建立的思路。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 16:02:04  更:2021-11-15 16:04:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:34:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码