|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
意法半导体STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核的32位mcu。意法半导体的STM32基本型系列、增强型系列、USB基本型系列、互补型系列;沿用增强型系列的72兆赫兹处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。7 F; P0 z& ~4 F2 O+ f7 u4 [ c
# R/ e1 c6 N+ T& B' b, x下面主要介绍关于STM32常见问题。
. {* C. e7 Y# C* L) X! z* j7 f8 u
& o1 _* c5 V" }, s; d1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备- ]- W, l' `; J7 G! r9 \" W% r& R
) ~# s% o7 g+ U$ q2 F. T2 k, N) c2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用
; s1 b; l. s3 u) Z; L . B% }! m' a& F# q+ b3 h
3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz3 h( q" a0 S& Y9 i
3 g6 q6 r8 ~& O. q& ?' e) ?6 b- e4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为32.768KHz,LSI RC(Low Speed InternalRC)低速内部晶振,大概为40KHz左右,提供看门狗时钟和自动唤醒单元时钟源
* O" m5 s' a0 a2 K y* R* m ; h$ y$ x: g, R* G; W) w5 g+ J) t
5、SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL
5 y" p( }$ b( V0 y3 y! V8 r 3 w7 y( c' M9 H& E3 l* S
" p+ H i. d5 f- _6、MCO[2:0]可以提供4源不同的时钟同步信号,PA8
& `7 m, h5 W5 U1 B( v4 R W" u1 A+ B" L% h6 z6 J- u9 r
7、GPIO口貌似有两个反向串联的二极管用作钳位二极管
; j8 G7 h8 O! w+ d
( c% T' h y0 u![]()
: X! `4 a- u# |1 U8 ? 2 S3 g: U! c7 K; } ]$ B
8、总线矩阵采用轮换算法对系统总线和DMA进行仲裁
Q5 ^* i- i7 l% D# g ) B' F. S7 {+ M: B8 X! L' {
9、ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥! w3 V+ x0 A9 @$ X$ h
& T* s* j* R; s10、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
3 i3 [" H% C s ?- E- T3 W( L" C0 k, Q+ t, {
11、数据字节以小端存储形式保存在存储器中。& C9 x" m; X4 C$ L
; {- e1 f7 K- l& t5 U: C" G7 r
12、内存映射区分为8个大块,每个块为512MB$ L, v+ `/ W. i" |( w, p
. ], m7 m) Q0 e13、FLASH的一页为1K(小容量和中容量),大容量是2K8 o, X) [8 o9 N1 p! r `
s4 d$ L E. x0 \5 O% e$ ?14、系统存储区(SystemMemory)为ST公司出厂配置锁死,用户无法编辑,用于对FLASH区域进行重新编程。所以我们烧写程序务必选择BOOT1 = 0,这样通过内嵌的自举程序对FLASH进行烧写,比如中断向量表和代码。5 a, l3 q* A& a* R
+ e. R7 a/ P7 @% a0 c# D6 \, X9 P
15、STM32核心电压为1.8V" X, K4 ?) [8 ^! s4 q
2 K- O2 ?1 J# l- ^7 o16、STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等;电源复位由于外部电源的上电/掉电复位或者待机模式返回。复位除了BKP中的寄存器值不动,其他全部复位;备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。5 W' g- \' O6 i9 f* o
& { B( n9 _" g9 t/ ^' [ K: v1 ]: E17、单片机复位后所有I/O口均为浮空输入状态
# g+ U1 T9 h7 w& o
" v9 m* D& C' m& A: C* w9 ]18、68个可屏蔽中断通道,16个可编程优先级,16个内核中断,一共68+16=84个中断。103系列只有60个中断,107系列才有68个中断$ z( n( {& Q: b* z, j0 C$ h
6 f# e0 f1 y1 f19、系统启动从0x00000004开始,0x000 0000保留
1 x; `* u3 ^; u5 @8 w. R ( g$ Z+ W" R( D0 S. c
20、(NestedVectored Interrupt Controller)NVIC嵌套向量中断控制器,分为两种:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。两种优先级由4位二进制位决定。分配下来有十六种情况:
" z) k% V7 q3 T' o0 Y( i4 f' n7 p ![]()
2 z: m: k F2 @$ w ) V! J% S8 v% W8 N4 X
21、0号抢先优先级的中断,可以打断任何中断抢先优先级为非0号的中断;1号抢先优先级的中断,可以打断任何中断抢先优先级为2、3、4号的中断;……;构成中断嵌套。如果两个中断的抢先优先级相同,谁先出现,就先响应谁,不构成嵌套。如果一起出现(或挂在那里等待),就看它们2个谁的子优先级高了,如果子优先级也相同,就看它们的中断向量位置了。原来中断向量的位置是最后的决定因素
" r6 O7 i2 N/ s5 z% k& v2 g+ d
: z: `: v: B" C4 V( U# w22、上电初始化后AIRC初始化为0,为16个抢先式优先级,但是由于所有的外部通道中断优先级控制字PRI_n为0,所以抢先式优先级相同,此时就不能嵌套了。' `* f$ A# d& m2 I' c+ W
! ~: u, o5 A) Z3 C8 E
STM32通过其产品能力,向市场证明了一件事:Cortex-M系列MCU市场用量巨大。由于MCU供需失衡,这种不平衡导致MCU有10~15%的价格上涨是合理的,这种结果和生产线的停产,以及连续的产线开关相比影响将是有限的。国产灵动微MM32单片机可兼容替换STM32系列,英尚微电子支持提供产品技术支持及应用解决方案。5 q7 r5 ~( B: z; m ~' N& f6 `
7 L O. m0 }2 i7 Q \ |
|