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之CAN---TTCAN模式浅析
下一篇: STM32之CAN控制器
推荐阅读
史海拾趣
进入21世纪后,达方电子在技术研发上取得了重大突破,成功研发出多款具有竞争力的新产品。同时,公司积极开拓国际市场,通过与国际知名品牌的合作,将产品销往全球各地。这一阶段的成功,不仅使达方电子的营收大幅增长,也进一步提升了公司的品牌影响力。
中汇瑞德电子股份有限公司的创业之路并非一帆风顺。2006年,公司创始人周康平凭借对电子行业的深刻理解和前瞻视野,决定涉足继电器制造领域。当时,市场竞争激烈,技术门槛高,但周康平坚信,只要专注于技术研发和产品质量,就能在市场中脱颖而出。他带领团队日夜奋战,攻克了一个又一个技术难题,逐渐在继电器制造领域站稳了脚跟。
为了保证产品质量和客户满意度,中汇瑞德一直将质量管理体系的建设放在重要位置。公司引入了国际先进的质量管理理念和方法,建立了完善的质量管理体系,并通过了多项国际认证。同时,公司还加强了对供应商的管理和评估,确保原材料的质量符合公司要求。这些措施有效地提高了产品的质量稳定性和可靠性,赢得了客户的信任和认可。
作为一家高科技企业,BCD Semi(Diodes)公司深知创新是发展的核心动力。因此,公司始终将研发投入作为重中之重,不断加大对新技术、新产品的研发力度。通过持续的创新驱动,公司成功推出了一系列具有自主知识产权的高性能模拟半导体产品,为公司的长远发展奠定了坚实基础。
随着技术的不断成熟和产品质量的提升,Futaba Electric开始将目光投向国际市场。20世纪70年代末至80年代初,公司成功进入欧美市场,与多家国际知名企业建立了合作关系。通过参加国际展会、设立海外分支机构等方式,Futaba Electric的产品逐渐在全球范围内得到推广和应用。这一时期,公司的国际化战略取得了显著成效,为公司的长远发展奠定了更加坚实的基础。
晨晶电子的前身是始建于1958年的国营第七O七厂。作为一家具有深厚历史底蕴的企业,它在中国电子行业的发展历程中扮演了重要角色。然而,随着时代的变迁和市场环境的转变,国营第七O七厂逐渐面临着体制僵化、市场竞争力下降等问题。为了适应现代企业制度的要求,该厂在2000年进行了转制,成立了北京晨晶电子有限公司。这一转制不仅为企业注入了新的活力,也为其后续的发展奠定了坚实基础。
一、硬件说明 特点: 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毫伏,当信号源电动势为毫伏级时,误差很大.因此,用它检测较高电 ...… 查看全部问答∨ |
|
交流下大家的Windows CE产品,看看目前市场上用到的Windows CE产品有哪些? 注:标明Windows CE版本号、产品名及简要介绍、工资。 先说我自己的: Windows CE 5.0、Windows CE 6.0 终端——类似电脑,主要用户行业的窗口柜台(如银行、邮政 ...… 查看全部问答∨ |
|
我是刚刚转到WIN CE下面进行开发的新手,在产品开发过程碰到这样一个问题,请教大家,还请抽空帮忙呀!!! 我是刚刚转到WIN CE下面进行开发的新手,在产品开发过程碰到这样一个问题,请教大家,可能问题太简单或者存在不恰当的地方,还麻烦大家帮我指出来,不要笑话! 我要开发一个产品: 软件平台:WIN CE或WIN MOBILE, 硬件平台:自制ARM 2440小板子 ...… 查看全部问答∨ |
|
板子上大概有问题,烧flash始终不行。 dsp是6713,flash是s29, aoe awe ce信号通过cpld转接,用示波器看波形,这些信号应该是正常的,而且我也换过cpld,但是没用。flash我也换过。 症状就是:向flash中某个单元写个数,比如0xaa,然后用view memo ...… 查看全部问答∨ |