原创 STM32菜鸟成长记录---1

2019-10-10 10:49 994 6 2 分类: MCU/ 嵌入式 文集: 程序设计

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

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是专门存放中断函数的。

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

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

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

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

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

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

curton 2019-10-10 22:31

学习
相关推荐阅读
minicaihong 2020-10-22 16:44
场效应管放大电路的直流偏置电路详解
什么是偏置电路晶体管构成的放大器要做到不失真地将信号电压放大,就必须保证晶体管的发射结正偏、集电结反偏。即应该设置它的工作点。所谓工作点就是通过外部电路的设置使晶体管的基极、发射极和集电极处于所要求的...
minicaihong 2020-10-22 16:37
场效应管偏置电路-场效应管偏置电路的工作原理及作用分析
什么是偏置电路晶体管构成的放大器要做到不失真地将信号电压放大,就必须保证晶体管的发射结正偏、集电结反偏。即应该设置它的工作点。所谓工作点就是通过外部电路的设置使晶体管的基极、发射极和集电极处于所要求的...
minicaihong 2020-10-22 16:27
MOS管偏置电路-MOS管直流、恒流等偏置电路图文及方程详解
MOS管偏置电路MOS管直流偏置电路MOS管的单电源直流偏置电路有两种:1、只能用于结型和耗尽型MOS管的自给偏置电路。2、可用于各种MOS管的分压式偏置电路自给MOS管偏置电路(1)图解法根据图中电...
minicaihong 2020-05-27 09:50
sprintf 格式化字符串
sprintf 格式化字符串好久没写博客了,又遇到自己觉得很傻的问题,格式化字符串还要找下定义和用法sprintf() 函数把格式化的字符串写入变量中。arg1、arg2、++ 参数将被插入...
minicaihong 2020-05-25 15:07
12T和1T的单片机
标准51是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令度周期,刚好就是1/12M*12=1uS,常见指令例如nop就是一个周期,刚好1uS,其他的...
minicaihong 2020-05-23 16:22
4HC595驱动8*8点阵屏
74HC595驱动8*8点阵屏置顶 菜袅1号 2020-05-19 10:00:03   52   收藏展开该项目使用国产M0核单片机,驱动方式类似于stm32平台;点阵驱动芯片:...
我要评论
1
6
关闭 站长推荐上一条 /3 下一条