历史上的今天

今天是:2024年09月02日(星期一)

正在发生

2018年09月02日 | STM32学习总结——SMT32基本知识

发布者:shmilyde 来源: eefocus关键字:STM32  基本知识 手机看文章 扫描二维码
随时随地手机看文章
1.STM32 简介

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

2. STM32F103性能特点

1.内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。 
2.存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。 
3.时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。 
4.低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。 
5.调试模式:串行调试(SWD)和JTAG接口。 
6.DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。 
7.2个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6 V。双采样和保持能力。片上集成一个温度传感器。 
8.2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。 
9.最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。 
10.最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。 
11.最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。 
12.ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。

3.STM32固件库
31.库简介

STM32库是由ST公司针对STM32提供的函数接口,即API。库是假设在寄存器与用户驱动层之间的代码,向上可为用户提供配置寄存器的接口,向下开发者可以调用函数接口来配置STM32的寄存器,使开发人员得以脱离最底层的寄存器操作,开发快速、易于阅读。

3.2库里面几个重要文件

(1)启动文件 
启动文件是负责执行微控制器从“复位”到“开始执行main函数”中间这段时间(称为启动过程)所必须最先运行的一段汇编程序。在编写的C语言代码运行之前,需要有汇编语言为C语言的运行建立一个适合的环境,接下来才能运行相应程序。添加时应根据芯片Flash容量选择相应的文件类型。学习的过程中注意选择的核心板是密度大的还是小的,选择需要对应起来。 
(2)inc和src文件。 
Inc和src文件里就是ST公司针对每个STM32外设而编写的库函数文件,每个外设对应一个.c和.h后缀的文件。其中的misc.c文件,这个文件提供了外设对内核的中断向量控制器的访问函数,在配置中断时,必须把这个文件添加进工程中。 
(3)stm32f10x.h文件 
stm32f10x.h文件非常重要,很重,类似于51单片机的#include”reg51.h”它包含了STM32中寄存器地址和结构体类型定义,在使用STM32固件库的地方都要包含这个头文件。 
(4)stm32f10x_it.c和stm32f10x_conf.h文件 
stm32f10x_it.c是专门用来编写中断服务函数的,在我们编写修改前,这个文件已经定义了一些系统异常的接口,其他普通中断服务函数由我们自己添加。 
(5)core_cm3.c和system_stm32f10x.c文件 
core_cm3.c的作用是为采用Cortex-M3核设计SoC的芯片商设计的芯片外设提供一个进入CM3内核的接口对于其他公司的CM3系列芯片此文件也是相同的。system_stm32f10x.c文件的功能是设置系统时钟和总线时钟,所有外设都与时钟的频率有关。

4开发环境的搭建

在建立工程模板时,要新建几个文件夹,其中文件夹的名称和含义是:(野火模板) 
1.USER 用来存放工程文件和用户代码,包括主函数main.c,和用户自己写的一些.c文件 
2.FWlib 用来存放 STM32 库里面的 inc 和 src 这两个文件,这两个文件包含了芯片上的所有驱动。 
3.CMSIS 用来存放库为我们自带的启动文件和一些 M3系列通用的文件。 
4.Uotput 用来保存软件编译后输出的文件。 
5.Listing 用来存放一些编译过程中产生的文件。

5.遇到问题

在进行软件仿真的过程中出现了所建立的工程存在无法仿真的情况,但是用自带的模板可以出现正确的情形。出现错误为:

******* error 65: access violation at 0x0000000C : no 'read' permission****1

找了好久,才找到问题的原因, 是因为芯片型号的错误,导致无法读取。 
这里写图片描述 这里写图片描述 
debug页面中圈起来的地方,和前面的device选择芯片的型号要完全保持一致才行!


关键字:STM32  基本知识 引用地址:STM32学习总结——SMT32基本知识

上一篇:STM32之CAN---TTCAN模式浅析
下一篇: STM32之CAN控制器

推荐阅读

   虽然全面屏这个概念没什么准确定义,但从最初提出到如今,前后已经过了两年。在这两年里,每每提及“全面屏”话题,都不免有人说“全面屏严格意义上是正面100%都是屏幕”。虽然OPPO Find X和viov NEX都在外观上向真正全面屏做了有益的尝试,但更多的手机受限于传统的传感器布局,距离“真·全面屏”依然客观地有着不可逾越的距离,但随着下半年新...
一、看门狗概述1、为什么要看门狗在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞。而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状...
1 综述I/O口是单片机中非常常用的外设,STM32的I/O口有8种状态,虽然一直在使用过程中没有遇到什么问题,但是一直都不是很清楚,因此这里做一个总结(实际上这里的概念也是和STM8等其他单片机,理解了这8中状态,也就基本上理解了大部分I/O口)。2 庐山真面目我们在库文件中的"stm32f10x_gpio.h"中可以看到如下代码:typedefenum{ GPIO_Mode_AIN =...
题目如下通过串口助手控制 LCD 显示屏,通过 LCD1602 显示并保存在 EEPROM 中,实现 数据的掉电保存(例 如:串口向单片机发送一串英文字符,该字符在 LCD 上显示出 来,若按下 k1 则实现数据的保存,按下 k2 实 现读取上次保存的数据,显示在 1602 上)效果如下#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器#incl...

史海拾趣

问答坊 | AI 解惑

PCI从模式设备PLX9052 开发套件PDC1000

一、硬件说明   特点:   1,支持Direct Slave功能,通过PCI总线,CPU直接访问局部总线。   2,直接支持ISA总线,为ISA->PCI提供最简单的解决方案。   3,支持两个中断,中断的触发模式自由设定,方 ...…

查看全部问答∨

【代码共享】SPI转串口 GM8141 & GM8142 应用驱动C函数包

【代码共享】SPI转串口 GM8141 & GM8142 应用驱动C函数包http://www.fosvos.com/datasheet/gticc/GM814X/GM8141_GM8142DRV_C.rar GM8141 & GM8142应用驱动C函数包 上海福跃电子科技有限公司提供芯片销售及技术方案技术支持 来自:www.fosvos ...…

查看全部问答∨

微电流检测认识之误区

彭建学 OPA128偏流典型值0.075PA,所以认为用它检测微电流,分辩率可轻松达到0.1PA,这是错误的. 1,OPA128的偏流是自身的偏流,不代表外部流入放大电路的电流 2,OPA128的失调电压可达0.5毫伏,当信号源电动势为毫伏级时,误差很大.因此,用它检测较高电 ...…

查看全部问答∨

ARM7 关于LR寄存器值的问题

T_bit        EQU                0x20                                 AREA    &n ...…

查看全部问答∨

说说大家WCE的产品

交流下大家的Windows CE产品,看看目前市场上用到的Windows CE产品有哪些? 注:标明Windows CE版本号、产品名及简要介绍、工资。 先说我自己的: Windows CE 5.0、Windows CE 6.0 终端——类似电脑,主要用户行业的窗口柜台(如银行、邮政 ...…

查看全部问答∨

我是刚刚转到WIN CE下面进行开发的新手,在产品开发过程碰到这样一个问题,请教大家,还请抽空帮忙呀!!!

我是刚刚转到WIN CE下面进行开发的新手,在产品开发过程碰到这样一个问题,请教大家,可能问题太简单或者存在不恰当的地方,还麻烦大家帮我指出来,不要笑话! 我要开发一个产品: 软件平台:WIN CE或WIN MOBILE, 硬件平台:自制ARM 2440小板子 ...…

查看全部问答∨

ST的M4啥时候出?

                                 据说和M3管脚兼容,不错,最好加上差分PGA,16bit CODEC之类啊,再不出来等freescale的K10了…

查看全部问答∨

烧不了flash,困惑啊

板子上大概有问题,烧flash始终不行。 dsp是6713,flash是s29, aoe awe ce信号通过cpld转接,用示波器看波形,这些信号应该是正常的,而且我也换过cpld,但是没用。flash我也换过。 症状就是:向flash中某个单元写个数,比如0xaa,然后用view memo ...…

查看全部问答∨

如何正确使用电位器来调节音量(续)

    当音源信号接到滑动端,有两点不妥:     1、使得音源信号的输出负载发生改变。见图,                    &n ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved