1-汇编编写的启动文件
startup_stm32f10x_hd.s:设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、对用C库函数_main最终去到C的世界
2-时钟配置文件
system_stm32f10x.c:把外部时钟HSE=8M,经过PLL倍频为72M。
3-外设相关的
stm32f10x.h:实现了内核之外的外设的寄存器映射
xxx:GPIO、USRAT、I2C、SPI、FSMC
stm32f10x_xx.c:外设的驱动函数库文件
stm32f10x_xx.h:存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明
4-内核相关的
CMSIS - Cortex 微控制器软件接口标准
core_cm3.h:实现了内核里面外设的寄存器映射
core_cm3.c:内核外设的驱动固件库
NVIC(嵌套向量中断控制器)、SysTick(系统滴答定时器)
misc.h
misc.c
5-头文件的配置文件
stm32f10x_conf.h:头文件的头文件
//stm32f10x_usart.h
//stm32f10x_i2c.h
//stm32f10x_spi.h
//stm32f10x_adc.h
//stm32f10x_fsmc.h
…
6-专门存放中断服务函数的C文件
stm32f10x_it.c
stm32f10x_it.h
中断服务函数你可以随意放在其他的地方,并不是一定要放在stm32f10x_it.c
#include “stm32f10x.h” // 相当于51单片机中的 #include
int main(void)
{
// 来到这里的时候,系统的时钟已经被配置成72M。
}
关键字:STM32 固件库 文件含义
引用地址:
STM32固件库文件含义解析
推荐阅读最新更新时间:2024-11-11 11:27
STM32 ADC多通道转换详解
STM32ADC多通道转换描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。 程序如下: #include“stm32f10x.h”//这个头文件包括STM32F10x所有外围寄存器、位、内存映射的定义 #include“eval.h”//头文件(包括串口、按键、LED的函数声明) #include“SystickDelay.h” #include“UART_INTERFACE.h” #include
[单片机]
一文详解STM32输入捕获
输入捕获是处理器捕获外部输入信号的功能,基于定时器抓取输入信号指定触发方式之间的长度。具体有下面三种触发情况: 1、 上升沿触发 2、 下降沿触发 3、 上下都触发 当触发条件发生后,捕获比较寄存器锁定当前的计数值,如果开启了中断或者DMA,就可以通过中断或DMA及时获得数据进行处理。有时可能遇到上一次触发的标志还没清除,下次触发就发生了,此时会将over-capture标志置位,对于可能出现over-capture的情况,建议先读取数据再清除标志,避免在读取标志后及读取数据前这段时间错过over-capture。 配置输入捕获的步骤: 1. 打开定时器和对应输入引脚的时钟 2. 配置引脚为对应的复用功能 3. 配置基
[单片机]
在Mac OS X 系统下做STM32开发
前言 本文只是一个提纲,提供一个参考,具体操作请查看文中的链接。 搭建环境 初学STM32开发,首先解决开发环境的问题,由于Mac OS X系统下没有keil环境,故需要自己搭建开发环境,参考大师“胡茂晓 的 BLOG”:在Mac OS X中搭建STM32开发环境(1)等系列。 编译 环境搭好了,然后就是编译,keil下编译就比较简单了,但是Mac OS X就只能自己写makefile来使用make编译了,当然,还可以使用autoconfigure来实现makefile文件,但autoconfigure同样难以入手。 写makefile,当然要了解makefile的基本知识,建议抽时间阅读“GNU make中文手册”。
[单片机]
【STM32CubeMX】3,STM32的HAL库运用小方法
1,当在hal头文件中看到该函数时,还不理解,直接复制百度就好 如HAL_UART_Transmit(),有些论坛讲解的非常详细 2,hal_adc.c文件一般都是详细解释, hal_adc.h文件都是关键函数的综述,这个对于快速上手非常重要
[单片机]
STM32 FSMC总线与TFT8080接口对接分析
1. FSMC协议分析 如下为ILI9325的8080接口的协议 从图中可以看出8080接口的协议大概流程是:先发出片选信号,然后发出命令使能或者数据使能信号,待数据建立完成后,在读写信号的上升沿写入数据或者读出数据。 CS(片选信号):低电平片选有效,高电平失能(默认为高:失能) RS(数据/命令):低电平写命令,高电平写数据(默认为高:写数据)FSMC默认为低。。。。 RD(读信号) :低电平有效,上升沿写入数据,高电平失能(默认为高,失能) WR(写信号) :低电平有效,上升沿写入数据,高电平失能(默认为高,失能) FSMC写SRAM模式如下: FSMC对于类RAM存储器的读操作过程一般是:先发出片选信号、读写信号和地
[单片机]
STM32模拟I2C程序
/******************************************************************************* 测试平台:STM32F103ZET6最小系统 *******************************************************************************/ static void i2cDelay() { volatile int i = 7; while (i) i--; } // SCL高电平期间,SDA出现下降沿为起始信号 static bool i2cStart() { SDA_OUT;
[单片机]
stm32专题二十一:LCD控制原理
使用的液晶屏内部包含有一个液晶控制芯片 ILI9341,它的内部结构非常复杂,如图所示。该芯片最主核心部分是位于中间的 GRAM(Graphics RAM),它就是显存。GRAM 中每个存储单元都对应着液晶面板的一个像素点。它右侧的各种模块共同作用把 GRAM 存储单元的数据转化成液晶面板的控制信号,使像素点呈现特定的颜色,而像素点组合起来则成为一幅完整的图像。 框图的左上角为 ILI9341 的主要控制信号线和配置引脚,根据其不同状态设置可以使芯片工作在不同的模式,如每个像素点的位数是 6、16 还是 18 位;可配置使用 SPI 接口、8080 接口还是 RGB 接口与 MCU 进行通讯。MCU 通过 SPI、8080 接
[单片机]
stm32之DMA研究
在做实验之前,首先必须明白什么是DMA,DMA的作用又体现在哪里。 DMA,即直接内存存储,在一些数据的传输中,采用DMA方式,从而将CPU解放出来。让CPU有足够的时间处理其他的事情。 stm32使用DMA的相关操作: 1、DMA的配置 要配置的有DMA传输通道选择,传输的成员和方向、普通模式还是循环模式等等。 void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; //DMA设置: //设置DMA源:内存地址&串口数据寄存器地址 //方向:内存-- 外设 //每次传输位:8bit //传输大小DMA_BufferSize=SEN
[单片机]