一、stm32固件库学习
1. 建立模板
模板是按照附件的方法建立的,共建立了4个文件夹:CMSIS、Startup、USER、Project。在Project中还建立了2个文件夹:Obj和Listing,用于存放目标文件和列表文件。最终的物理目录如下。
在MDK4.23中建立相应的目录,实际上除了misc.c和stm32f10xrcc.c是必须的外,其它的库根据需要剪裁。
2. 整理库代码
根据所选的芯片类型将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\下对应的启动文件
system_stm32f10x.c, system_stm32f10x.h这两个文件提供函数用来初始化stm32芯片,配置PLL、系统时钟和内置flash接口。
事实上,stm32标准外设库的使用在stm32f10x_stdperiph_lib_um.chm中的How to use the Library一节中已有说明,主要步骤如下:
a. 根据所选芯片,把Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm中的启动代码加到工程中。这里,我将startup_stm32f10x_md.s拷贝到Libraries\startup文件夹中。
b. 在stm32f10x.h的66-73行,根据所选芯片类型,去掉相应注释,这里我去掉STM32F10X_MD行的注释。
c. 去掉105行的USE_STDPERIPH_DRIVER注释,启用stm32标准外设库。
d. 在system_stm32f10x.c的110-115行,根据所选芯片主频,去掉相应注释,默认SYSCLK_FREQ_72MHz注释已去掉,如果你的芯片主频是72MHz,就不用做修改了。
3. 编写文件
将模板另存,改工程名,编写相应的main函数和代码。
按照李想老师的教程,库函数编写程序时,在main中首先是调用RCC_Configuration()。而RCC_Configuration()函数用于配制芯片时钟,代码如下:
实际上如按照上述步骤整理后,除开启GPIOB、GPIOA时钟代码外,其余已不需要,在system_stm32f10x.c中已经为我们做了上述的时钟配制工作了。system_stm32f10x.c中相关代码如下:
由此看见,system_stm32f10x.c中已经完成了RCC_Configuration()的相同的时钟配制。
此外,在stm32f10x_conf.h文件中,可以注释掉一些不用的外围头文件。
(详见附件)
相关推荐
在本文中,我们将深入探讨如何使用STM32F103ZET6开发板进行GPIO(通用输入/输出)的基础开发。STM32是意法半导体(STMicroelectronics...继续深入学习STM32的其他外设和功能,将有助于我们更好地利用STM32的强大性能。
通过“STM32自学笔记”这样的资料,你可以系统地学习STM32的基础知识和实践技巧,逐步掌握单片机开发的全貌。在实践中,不断实验和调试,加深对外设的理解,是提升技能的关键。同时,参与社区交流,参考他人的项目,...
这篇STM32学习笔记主要介绍了GPIO口的寄存器配置以及使用方法。 首先,STM32的GPIO口配置涉及到多个寄存器,包括: 1. GPIOx_CRL:配置寄存器,用于设置低8路GPIO引脚的工作模式和输入输出特性。 2. GPIOx_CRH:...
总的来说,《STM32自学笔记》随书共享资料为STM32的学习者提供了一个全面的资源包,涵盖了从理论到实践的各个方面。通过深入学习和实践,开发者不仅可以掌握STM32的使用,还能进一步提升在嵌入式系统领域的专业技能...
51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记...
本资源“STM32自学笔记 随书资料”是一份全面的学习STM32开发的参考资料,旨在帮助初学者快速入门并深入理解STM32的工作原理和编程技巧。 一、STM32架构与特性 STM32系列涵盖了多种型号,主要基于Cortex-M0、M3、M4...
### STM32学习笔记知识点概览 #### 一、STM32选择原因分析 STM32作为基于ARM Cortex-M3内核的微控制器,凭借其卓越的性能、丰富的外设资源以及良好的性价比,成为了众多工程师的首选。SW笨笨在其学习笔记中详细...
### STM32学习笔记——野火开发板解析 #### 一、基础知识介绍 **STM32**是一款基于ARM Cortex-M3内核的32位微控制器。本文将围绕野火开发板的学习笔记展开,深入剖析野火开发板的库结构及其在实际项目中的应用。 ...
通过这份自学笔记,读者不仅可以学习STM32的基本用法,还能了解到实际项目开发中的问题解决策略和技巧,为成为一名熟练的STM32开发者奠定坚实基础。在学习过程中,结合实际的开发板和实验,理论与实践相结合,将更...
方便大家学习,整理上传了电子档笔记。
《STM32自学笔记》的作者根据个人学习和实践经验,撰写了一份便于理解STM32知识的材料。 在标题《STM32自学笔记》中,涉及的关键知识点可能包括: 1. STM32产品线介绍:STM32家族中不同系列如STM32F0、STM32F1、...
本学习笔记大全旨在帮助读者深入理解和掌握STM32CubeMX的使用,通过16篇详实的内容,涵盖了从基础操作到高级应用的方方面面。 1. **STM32CubeMX简介**:STM32CubeMX是基于图形界面的配置工具,它提供了对STM32系列...
本书《STM32自学笔记》由蒙博宇编著,是一本针对STM32微控制器初学者的自学指导书,该书详细介绍了STM32的原理及应用,并通过作者亲身体验和实践总结出的内容,为读者提供了一个清晰的学习路径。本书内容共分为七章...