|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
意法半导体STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核的32位mcu。意法半导体的STM32基本型系列、增强型系列、USB基本型系列、互补型系列;沿用增强型系列的72兆赫兹处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。
8 U1 [3 ~) r4 B/ i; ?1 V0 h$ D% v
9 \" O) g" v8 V$ g! U/ m1 m& b下面主要介绍关于STM32常见问题。0 P! R' _' N% f0 q& s# p' X2 O8 T
4 ~4 C4 k2 w. [9 C, ^$ g- H# [$ P a1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备
* i. ?: |) {% i. P% g$ ]% | & b7 d5 \) m9 Q$ }$ w- a
2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用2 Q2 }* _5 B( m' Q T- z9 {
. `2 K) D" V9 @4 m1 h) L3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz6 ]0 _- z+ n0 g
* D; w, T6 m2 m2 G5 W3 @ D2 ?( O
4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为32.768KHz,LSI RC(Low Speed InternalRC)低速内部晶振,大概为40KHz左右,提供看门狗时钟和自动唤醒单元时钟源
/ e' c8 G' r5 r( T3 Z, Q# b& C 4 r7 T/ }2 D1 I$ I( v6 k9 p
5、SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL
0 b4 w9 D: q1 X3 j8 ~ 7 i- K1 p/ O6 m) c ~
1 U5 I) a f* J1 c/ A6、MCO[2:0]可以提供4源不同的时钟同步信号,PA8
( E" |: V0 v& j+ R - _( Y j9 ]) ?6 h8 j
7、GPIO口貌似有两个反向串联的二极管用作钳位二极管
/ c' \1 n0 h; `/ D6 c- i( P) w9 |) ?
+ a) w4 h, E I 5 z9 z* Y2 g$ d$ F! ^; ]( R
0 |& y. L! ]- A* E; v! d$ e% a: D
8、总线矩阵采用轮换算法对系统总线和DMA进行仲裁
! U8 M/ z* ]& d$ M, x( e
6 s+ {! q5 r7 \0 h) q9、ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥/ q6 T0 D) H, n
& r) j Y: e, `9 e- e X. [10、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
5 Q6 J/ U% |: T1 G9 O
3 H; f+ ?, K3 l) _, r9 G11、数据字节以小端存储形式保存在存储器中。' I3 q# q9 x" J3 R- w4 b; Y
7 ~! Q$ w6 a7 }5 d12、内存映射区分为8个大块,每个块为512MB
6 }: t2 c) G5 A9 ~ + X5 Q9 |2 U G7 Y
13、FLASH的一页为1K(小容量和中容量),大容量是2K0 x! c6 M+ i9 I x+ I9 ^
5 w) P% \4 j2 ~. n( B$ e
14、系统存储区(SystemMemory)为ST公司出厂配置锁死,用户无法编辑,用于对FLASH区域进行重新编程。所以我们烧写程序务必选择BOOT1 = 0,这样通过内嵌的自举程序对FLASH进行烧写,比如中断向量表和代码。6 S( H2 R/ b& a5 i) x2 B
) i$ K3 I3 W4 x! B- t: J5 f15、STM32核心电压为1.8V
* w6 c9 o4 l# v' N* Z1 F- { * h& k$ ?3 A& V! w
16、STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等;电源复位由于外部电源的上电/掉电复位或者待机模式返回。复位除了BKP中的寄存器值不动,其他全部复位;备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。
9 Y4 t/ e3 @& p) |, w: n E # G% X' ~& t2 Z. s& |
17、单片机复位后所有I/O口均为浮空输入状态
" g8 t! R8 o, w; T3 U * t& e5 N- a E# @
18、68个可屏蔽中断通道,16个可编程优先级,16个内核中断,一共68+16=84个中断。103系列只有60个中断,107系列才有68个中断. f, N. F; }4 G+ q) p* Y
' G6 o! F, u/ g
19、系统启动从0x00000004开始,0x000 0000保留
1 j7 m0 S4 Q3 u2 {5 o1 A) D3 V
- K8 N2 v# a) @20、(NestedVectored Interrupt Controller)NVIC嵌套向量中断控制器,分为两种:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。两种优先级由4位二进制位决定。分配下来有十六种情况:6 h6 L$ [1 p* K( P
, h- g7 N6 @2 w3 ?/ W
& N0 z$ u) o) X/ n$ I
21、0号抢先优先级的中断,可以打断任何中断抢先优先级为非0号的中断;1号抢先优先级的中断,可以打断任何中断抢先优先级为2、3、4号的中断;……;构成中断嵌套。如果两个中断的抢先优先级相同,谁先出现,就先响应谁,不构成嵌套。如果一起出现(或挂在那里等待),就看它们2个谁的子优先级高了,如果子优先级也相同,就看它们的中断向量位置了。原来中断向量的位置是最后的决定因素 a% W. N) J. W2 c! x+ R
3 i. X3 d( V' w; f; z" D" e0 L7 ~
22、上电初始化后AIRC初始化为0,为16个抢先式优先级,但是由于所有的外部通道中断优先级控制字PRI_n为0,所以抢先式优先级相同,此时就不能嵌套了。
" F: D: I$ Q( D2 |
: }2 x/ p) G' A. m% ~STM32通过其产品能力,向市场证明了一件事:Cortex-M系列MCU市场用量巨大。由于MCU供需失衡,这种不平衡导致MCU有10~15%的价格上涨是合理的,这种结果和生产线的停产,以及连续的产线开关相比影响将是有限的。国产灵动微MM32单片机可兼容替换STM32系列,英尚微电子支持提供产品技术支持及应用解决方案。" w0 l% r, f. _6 w; d9 \" y+ W
" H7 U- N) t* ]8 H9 Q |
|