Cortex-M3采用ARM V7架构,不仅支持Thumb-2指令集,而且有很多新特性,有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗众多优势。 9 b' h y7 N j- h3 G. l STM32的优异性体现在以下几个方面: 1、超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。 v9 y, F4 [5 K. c: n( |( _ 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芯片。 4、优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。# l6 O( D% R2 }* V 5、杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。 6、极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试接口。SWD调试可以为你的设计带来更多的方便,只需要2个IO口,即可实现仿真调试。 7、学习STM32有2份不错的中文资料:, s- D5 ^- D4 O* h; z 《STM32参考手册》中文版V10.0* i, L% `) _7 o8 B3 L" C, W4 l1 k 《cortex-M3权威指南》中文版(宋岩 译) 前者是ST官方针对STM32的一份通用参考资料,内容翔实但是没有实例,也没有对cortex-M3架构进行多少介绍,读者只能根据自己对书本的理解来写代码。后者是专门介绍cortex-M3架构的书,有简短的实例,但没有专门针对STM32的介绍。 8、STM32拥有非常多的寄存器,对于新手来说,直接操作寄存器有很大的难度,所以ST官方提供了一套固件库函数,大家不需要再直接操作繁琐的寄存器,而是直接调用固件库函数即可实现操作寄存器的目的。当然,我们要了解一些外设的原理,必须对寄存器有一定的了解,这对以后开发和调试也是非常有帮助的。/ S2 `( A* B Y! f, ^. L/ t6 v 9、代码移植。代码一般都是可以通用的,移植时需要做的只是把底层的驱动函数(一般是IO操作)稍作修改,使之适配即可。2 y; g8 n6 @9 _6 w+ Y9 S. U% X $ R! n$ f5 N. Q. t / k" U8 V8 r* G% t- ]6 n- x 开发板资源:' S" O' A2 k' i; M( \9 f( N' c 选择的是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家族常用型号里面,配置最高的芯片了。) ]' C1 a6 s, ] : w6 A6 m8 ^' A- l! a5 y3 r 启动模式设置接口:" E3 R I G# I3 @ 0 F, O; ]1 ^5 j8 l f# M! s7 T 一般是通过flash启动,STM32一按复位键就开始跑代码,因此设置为BOOT0为0,BOOT1任意。ISP下载代码时,下载软件自动配置好BOOT0和BOOT1. |
【经验分享】STM32F1 GPIO工作原理
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数