【32单片机学习】(2)stm32库文件

news/2024/10/18 12:19:39/

startup_stm32f10x_hd.s

设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、调用C库函数_main,将汇编环境转到C语言编译环境

; Reset handler  //程序从此处开始
Reset_Handler   PROCEXPORT  Reset_Handler             [WEAK]IMPORT  __mainIMPORT  SystemInitLDR     R0, =SystemInitBLX     R0               LDR     R0, =__mainBX      R0ENDP


system_stm32f10x.c

把外部时钟HSE=8Mhz,经过PLL锁相环进行倍频,将时钟变为为72Mhz

stm32f10x_xxx.c

外设的驱动函数库文件

xxx:GPIO、USART、I2C、SPI、FSMC

 stm32f10x.h

实现了内核之外的外设的寄存器映射

#ifdef USE_STDPERIPH_DRIVER#include "stm32f10x_conf.h"
#endif

stm32f10x_xxx.h

存放外设的初始化结构体,外设的初始化结构体成员的参数列表、外设固件库函数的声明、


CMSIS-Cortex:

微控制器软件接口协议标准

core_cm3.h:

实现了内核里面外设的寄存器映射

core_cm3.c:

内核外设驱动函数库文件

NVIC(嵌套向量中断控制器)、SysTick(系统滴答定时器)


stm32f10x_conf.h:

头文件的头文件,包含各类外设及时钟的头文件

//stm32f10x_usart.h

//stm32f10x_i2c.h

//stm32f10x_spi.h

//stm32f10x_adc.h

//stm32f10x_fsmc.h

........


stm32f10x_it.c/stm32f10x_it.h

专门存放中断服务函数的C文件

中断服务函数可以放在任意位置,并不是一定要放在stm32f10x_it.c文件中

#include "stm32f10x.h"                        //相当于51单片机中的#Include <reg51.h>

int main(void)

{

}
 


http://www.ppmy.cn/news/733522.html

相关文章

【51单片机学习】(2)定时器扫描实现按键长按和短按

用Delay消抖时会导致主程序中的一些进程受到影响&#xff0c;所以在这里借鉴江科大使用定时器扫描按键状态进行消抖的方法。在实际使用中加入了长按功能 按键驱动代码key.c #include <REGX52.H>unsigned char Key_KeyNumber,KeyTime,KeyCount,i; unsigned int times;/**…

【32单片机学习】(7)STM32时钟周期

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1.理论时间 2.官方设计标准时间 3.时钟周期的应用 前言 在学习stm32的I2C部分时&#xff0c;发现和C51的有所不同&#xff0c;stm32在SCL翻转IO口后要一定的等…

【32单片机学习】(6)STM32串口+DMA收发不定长数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1.DMA介绍 2.串口接收数据 3.实验现象 1.实验电路图 2.串口收发不定长数据视频演示 3.OLED 显示接收数据 4.代码部分 1.1串口模块 serial.c serial.h …

【32单片机学习】(8)STM32滴答定时器

1.选择时钟源 在misc.c文件中&#xff0c;配置SysTick时钟源 void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); 可以选择系统时钟或者系统时钟的8分频&#xff1a; arg SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clock source.…

【C语言学习】(1)冒泡法排序在ADC采样数据中的使用

复习冒泡排序&#xff0c;学习ADC采样数据滤波 目录 前言 一、使用场景 二、使用步骤 2.冒泡法排序 总结 前言 排序是C语言经常使用的基础算法&#xff0c;最简单的就是使用冒泡法对数组进行排序。 一、使用场景 在ADC采集到一次数据时&#xff0c;可能会因为干扰导致单…

【32单片机学习】(9)FSMC不同位宽操作

在学习正点原子FSMC访问外部存储器时遇到的一个地址偏移问题&#xff0c;在这里记录一下 HADDR&#xff1a;来自STM32内部AHB总线上地址线。 FSMC_A[25:0]&#xff1a;外部存储器接口信号上的地址总线&#xff0c;连接TFT的数据/命令选择RS端&#xff0c;只用到了FSMC_A[0]。 F…

【32单片机学习】(3)霍尔编码器减速直流电机控制及测速

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1.实验现象 2.实验接线及原理图 接线图 原理图 电机接线图 3.代码部分 1.主函数 main.c 2.按键部分 key.c key.h pwm代码 pwm.c pwm.h 电机驱动 motor.c mot…

【32单片机学习】(11)STM32启动过程详解

目录 前言 一、系统架构 二、启动配置 三、启动流程 1.首先复位MCU,获取栈顶指针MSP和PC指针的内容 2.根据PC的值找到复位中断处理函数Reset_Handler 1.进入中断处理函数Reset_Handler 2.进入SystemInit函数 3._main函数 3.进入main函数 总结 前言 通过查阅官方手册…