STM32相关知识及其创建工程

STM32

管脚

相关部件

基本部件: GPIO输入输出,外部中断,定时器,串口中断

基本外设接口: SPI,IIC,WDG,ADC/DAC,这些外设接口功能原理对每个芯片几乎都是一样

高级功能:RTOS,STM32CubeMx,HAL库LWP网络通信,FATFS访问U盘等文件系统,GUI人机交互界面,USB

STM32最小系统

晶振电路,复位电路,电源电路,下载电路,跟C51差不多,可以看之前的C51

启动模式(*)

在STM32F1中有三种不同的启动模式

启动模式引脚选择 启动模式 说明
BOOT0->0 BOOT1->x 主闪存存储器 主闪存存储器被选为启动区域
BOOT0->1 BOOT1->0 系统存储器 系统存储器被选为启动区域
BOOT0->1 BOOT1->1 内置SRAM调试模式 内置SRAM被选为启动区域

开发板


程序烧写






KEIL5安装


从图中可以看出,CMSIS 处于中间层,向上提供给用户程序和实时操作系统 所需的函数接口,向下负责与内核和其他外设通信。假如没有 CMSIS 标准,基于 Cortex 的芯片厂商就会设计出自己喜欢的风格库函数。因此 CMSIS 标准就是要强制他们必须按照这个标准来设计。

在 CMSIS 核心层又分为 3 个基本功能层:

(1)核内外设访问层:

ARM 公司提供的访问,定义处理器内部寄存器地址 以及功能函数。

(2)中间件访问层:

定义访问中间件的通用 API,由 ARM 提供,芯片厂商 根据需要更新。

(3)外设访问层:

定义硬件寄存器的地址以及外设的访问函数,比如 ST 公司提供的固件库外设驱动文件(stm32f10x_gpio.c 等文件)就是在这个访问层。

总的来说其实 CMSIS 就是统一各芯片厂商固件库内函数的名称,比如在系统初始化的时候使用的是 SystemInit 这个函数名,那么 CMSIS 标准就是强制所有使用 Cortex 核设计芯片的厂商内固件库系统初始化函数必须为这个名字,不能修改

工程创建

新建项目

创建项目文件

然后找到库函数文件下载下来

libraries

新建一个CMSIS文件

使用库函数的这5个文件

下面那个Driver文件直接把库函数搬过来

user

把这5个文件迁移过来

然后使用KEIL5打开

KEIL5

使用打开文件project

然后创建一个项目名



USE_STDPERIPH_DRIVER,STM32F10X_MD




添加完启动项目注意main函数最后不能是大括号必须空几行

相关推荐
准测仪器6 小时前
6项提高电机制造质量的电气测试方案
单片机·嵌入式硬件·制造·电机·电气·放电测试·局部放电测试
ACP广源盛139246256737 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
hazy1k7 小时前
51单片机基础-IO扩展(并转串 74HC165)
stm32·单片机·嵌入式硬件·fpga开发·51单片机·1024程序员节
Tony小周7 小时前
使用QKeyEvent keyPress(QEvent::KeyPress, key模拟键盘发送事件,会导致主程序卡死
嵌入式硬件·qt
普中科技10 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 13 章 STM32 位带操作
stm32·单片机·嵌入式硬件·arm·gpio·普中科技·位带操作
河南博为智能科技有限公司11 小时前
RS485转以太网串口服务器-串口设备联网的理想选择
大数据·服务器·人工智能·单片机·嵌入式硬件·物联网
国科安芯12 小时前
抗辐照MCU芯片在无人叉车领域的性能评估与选型建议
网络·人工智能·单片机·嵌入式硬件·安全
国科安芯12 小时前
抗辐照MCU芯片在激光雷达领域的适配性分析
网络·人工智能·单片机·嵌入式硬件·fpga开发
日更嵌入式的打工仔13 小时前
<RT1176系列14>CCM(Clock Controller Module)解读
单片机·嵌入式硬件
云山工作室13 小时前
基于单片机的环境监测智能报警系统的设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设