完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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**** 找了好久,才找到问题的原因, 是因为芯片型号的错误,导致无法读取。 debug页面中圈起来的地方,和前面的device选择芯片的型号要完全保持一致才行! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1942浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
739浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
576浏览 3评论
598浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
560浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 15:33 , Processed in 0.687099 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号