Cortex-M3采用ARM V7架构,不仅支持Thumb-2指令集,而且有很多新特性,有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗众多优势。" y! e5 X0 q% q3 O) i8 T STM32的优异性体现在以下几个方面:2 U; R9 x; j4 V9 n2 U! b 1、超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。 2、超多的外设。STM32拥有包括:FSMC、TIMER定时器、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。 3、丰富的型号。STM32仅M3内核就有F100、F101、F102、F103、F105、F107、F207、F217等8个系列上百种型号,具有QFN、LQFP、BGA等封装可供选择。同时STM32还推出了STM32L和STM32W等超低功耗和无线应用型的M3芯片。, o" s- H7 ~8 f' l 4、优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。; a8 @3 c" _% O. M f1 `$ t3 P 5、杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。) c# z5 T/ ?( K, m# H( I, X 6、极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试接口。SWD调试可以为你的设计带来更多的方便,只需要2个IO口,即可实现仿真调试。 7、学习STM32有2份不错的中文资料:: z& l' Z2 v9 H 《STM32参考手册》中文版V10.0 《cortex-M3权威指南》中文版(宋岩 译) 前者是ST官方针对STM32的一份通用参考资料,内容翔实但是没有实例,也没有对cortex-M3架构进行多少介绍,读者只能根据自己对书本的理解来写代码。后者是专门介绍cortex-M3架构的书,有简短的实例,但没有专门针对STM32的介绍。 8、STM32拥有非常多的寄存器,对于新手来说,直接操作寄存器有很大的难度,所以ST官方提供了一套固件库函数,大家不需要再直接操作繁琐的寄存器,而是直接调用固件库函数即可实现操作寄存器的目的。当然,我们要了解一些外设的原理,必须对寄存器有一定的了解,这对以后开发和调试也是非常有帮助的。 9、代码移植。代码一般都是可以通用的,移植时需要做的只是把底层的驱动函数(一般是IO操作)稍作修改,使之适配即可。 5 S. E+ C0 X0 r3 J! @ 开发板资源: 选择的是STM32ZET6作为MCU,该芯片是STM32F103里配置非常强大的了,它拥有的资源包括:64KB SRAM,512KB FLASH,2个基本定时器,4个通用定时器,2个高级定时器,2个DMA控制器(共12个通道),3个SPI,2个IIC,5个串口,1个USB,1个CAN,3个12位ADC,1个12位DAC,1个SDIO接口,1个FSMC接口以及112个通用IO口(除去RTC晶振占用的2个)。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度,是STM32F1家族常用型号里面,配置最高的芯片了。+ _* r5 H2 F( @( Q # |/ F9 b# l, d. _ 启动模式设置接口: % F" Y0 |/ @" e6 U! S# h , h, _6 q4 y, \- {; J h8 u 一般是通过flash启动,STM32一按复位键就开始跑代码,因此设置为BOOT0为0,BOOT1任意。ISP下载代码时,下载软件自动配置好BOOT0和BOOT1.! H- A, R$ O) U( _1 v) _( L : `/ }1 x& B% T5 u 2 c; P: M" \8 L( v6 a3 N: @ |
【经验分享】STM32F1 GPIO工作原理
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数