当前位置:首页 > 单片机 > 单片机
[导读]学习新知识我的一个方法是:1.先把握住新东西大的一个框架、涉及的内容、范围;简而言之:理清架构,把握重点;2.在看清楚大的框架所涉及的知识时,再度量哪些是我所需要必须学习的(重点),哪些是现在不急着掌握的

学习新知识我的一个方法是:

1.先把握住新东西大的一个框架、涉及的内容、范围;

简而言之:理清架构,把握重点;

2.在看清楚大的框架所涉及的知识时,再度量哪些是我所需要必须学习的(重点),哪些是现在不急着掌握的可以以后学习;

简而言之:去我所需,为我所用;

3.理论归理论,掌握理论知识的基础上,加以应用,能更深刻的理解这些知识点;

简而言之:实践出真知;

声明:本文部分参考自--《STM32自学笔记集合》

第一讲:

STM32是Cortex-M3系列之一,而Cortex-M3处理器采用的是ARMv7-M架构。

系统架构:

希望大家关注AHB总线,这是贯穿所有外设的一条总线,上图可知:AHB经过桥接,由APB1、APB2控制着几乎所有外设;

希望大家关注AHB总线,这是贯穿所有外设的一条总线,上图可知:AHB经过桥接,由APB1、APB2控制着几乎所有外设;

&& APB2属于高速设备; (控制着如:ADC、GPIO、EXIT、TIM1等外设)

&& APB1属于低速设备; (控制着如:DAC、TIMx、USART、I2C等外设)

固件库函数:


STM32有两种软件开发方式:用库和不用库;

我们开讲一下用库开发:

固件库函数:该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了为控制器所有的外设性能特征。该函数还包括每个外设驱动描述和应用实例。

通过使用固件函数库,无需深入掌握细节,用户也可以轻松包括每一个外设。因此,固件库大大减少了用户编程的时间,降低开发成本;

每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能,每个器件的开发都由一个通用的API(application programming interface应用编程接口)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化;

用库函数开发的优点: 1. 固件库大大减少了用户编程的时间,降低开发成本;

2.对初学者容易上手,无需深入掌握细节,也可以轻松包括每一个外设。

缺点:(1)没有深入系统架构,寄存器的控制的掌握和理解;

(2)编译效率低,速度慢;

不用库开发的优缺点:反之;

函数库一般放在FWlib目录下的inc文件夹内:如图

用库入门,用寄存器提高:

下面是库文件的结构图:

根据这张图课家里自己的工程;

应用层软件是依赖于第二层的定义和第三层相关库函数文件完成的;如果你不想用库,你可以利用stm32f10x.h中寄存器和结构体的定义直接对寄存器操作。而用库开发则是依靠第三层已经定义好的一些函数直接进行函数调用。下面将会解释几个关键头文件。

stmf10x.h : 定义了芯片类型及外设,并引入了另外三个头文件

# include “core_cm3.h” //arm公司为了标准化M3内核的一些声明

# include “system_stm32f10x.h”//系统时钟APB1、APB2时钟的一些外部声明

# include//编译器及内部参量类型定义

上图中stm32f10x_it.c是专门存放中断函数的。

在引入头文件过后,定义了一些变量类型,和外设相关的结构体、外设常量。

做好这些文件衔接的工程中还需要一个启动文件,虽然说开发时不需要你去了解,因为早已有人先写好了,但是希望有兴趣的可以去了解启动过程下是如何运作的。

一下按照对软件结构的理解,建立的一套工程模板。原因是如果使用库,那么建立工程时会很繁琐,如果有了一套适宜自己的模板,那么开发起来会很顺手。

另外需要知道的缩略词,如图:

希望自己理解建立一个工程模板;这样才是有所用,否则看这篇文章也是浪费时间;


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭