你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

70条STM32知识盘点(上)

[复制链接]
STMCU小助手 发布时间:2022-9-3 15:32
1、 SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL。
* R" k* x6 y- R8 B: _: J7 m; e
: f! u$ A" W( _' _4 }
微信图片_20220903153123.png
" r- q) p, r8 \1 y/ l% q
2、GOIO口貌似有两个反向串联的二极管用作钳位二极管。" o! |) F/ [, j. _4 Q3 X- c8 F
; a6 T1 w- y$ `  @. q2 J7 [
微信图片_20220903153119.jpg

- n; p6 O/ H5 h. q! S; h# ?3 }1 j- B3、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
: M& e0 R) f4 j, K8 c3 c3 @# z( Y; t
4、STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。% Y0 E5 E* d$ i. F1 {( [1 L

% i$ o+ ^: v, O
触发方式例如外部复位、看门狗复位、软件复位等;电源复位由于外部电源的上电/掉电复位或者待机模式返回。复位除了BKP中的寄存器值不动,其他全部复位;备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。
$ O6 \$ ~2 R$ {, l1 U
5、NVIC嵌套向量中断控制器,英文为NestedVectoredInterrupt Controller。有两种优先级:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。

* \2 H$ p# }4 X4 L2 s
两种优先级由4位二进制位决定。分配下来有十六种情况:

7 j6 q( b6 U- c0 g. t4 S
微信图片_20220903153115.jpg
" `7 h% e; f" Z# t) r1 {
6、自动装载寄存器和影子寄存器:前者相当于51当中的溢出设定数值。而影子寄存器顾名思义是影子,就是寄存器的另一分copy。

* _( d8 u9 A; B: h) H% u* [* H
实际起作用的是影子寄存器,而程序员操纵的则是自动装载寄存器。如果APPE位使能,表明自动装载寄存器的值在下一次更新事件发生后才写入新值。否则,写入自动装载寄存器的值会被立即更新到影子寄存器。

" y0 w1 x, F2 r/ A/ a3 C
微信图片_20220903153112.jpg
4 ^; ?* @" ^) o  C! g
7、ARM公司只生产内核标准,不生产芯片。ST、TI这样的公司从ARM公司那里购买内核,然后外加自己的总线结构、外设、存储器、始终和复位、I/O后就组成了自己的芯片。
( x  v, Z% }$ s, {/ h: E
6 _8 W7 {5 b5 i. K- z1 V( \7 I
8
、电容触摸屏原理:通过充放电的曲线不同来检测是否被按下。 实际的实验过程中,TPAD可以用一块覆铜区域来替代,通过电容的充放电常数来确定是否按下。
( y9 J! s4 m6 D! E6 K+ U  Q7 Y. W% r
2 \& y3 Y, R0 h. f9 e
微信图片_20220903153109.jpg
- p$ v, m0 v/ K. Y
9、
OLED,即有机发光二极管,又称为有机电激光显示。下图为OLED的GRAM与屏幕的对应表:$ T8 x- Z2 J( t& {  w  c& b) V

8 Z  m" \" R2 Y& `
微信图片_20220903153106.png

" W8 m3 c7 h, B- q& U
PAGE2单独列出来:

2 Z, {. I7 U' _( f2 i) L
微信图片_20220903153103.png

: c' ]# P: Y8 H: T5 k. y
10、USART可以操纵SPI设备。不过最大频率只有4.5MHz。: i- c# i* @, C4 Z: m3 i2 e

5 X) b3 g. f% W11、
使用I/O口时应该注意的问题:
( R% D' z1 S3 X/ t# h

! F' b0 x0 \( k8 c
微信图片_20220903153100.jpg

3 ~& w+ Y* R4 c9 }( W& D2 C! c12、
ADC的Vref+和Vdda与VSS,Vref-一定要加高质量的滤波电容,切靠近单片机。0 N8 E- a4 k( s
  \3 }2 @, `- B) P4 o$ c) O: x
微信图片_20220903153058.jpg

1 v' y- _- h+ [+ G) _$ p& b% I13、
在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。

! O/ e* o  h. P0 |! o5 l
内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。
3 L  A4 F) o! ]2 J+ h
14、FSMC中的DATASET和ADDSET的设置需要参看外部存储器的时序图来确定。

) |" T; L/ {; i5 {
一般而言,DATASET指的是数据建立时间,也就是读/写信号开始到读/写信号停止(上升沿存储数据)的持续时间。
5 b( O2 [1 O* V
而ADDSET指的是地址建立时间,指的是片选之后到读/写操作之前的时间,这是针对SRAM来说的,如果操纵的是TFT,不存在地址线,所以此时的ADDSET就是读/写信号结束到RS电平的转换时间。

3 L  S2 {& h  p  j
微信图片_20220903153055.jpg

8 m5 n  W- Z7 M. h6 w4 B+ v
15
微信图片_20220903153052.jpg
( _& G) e( t5 }, L& Y6 c
16
微信图片_20220903152953.jpg
+ _) W# ^0 I% m
17、
FSMC的三个配置寄存器:FSMC_BCRx(片选控制配置)、FSMC_BTRx(片选时序)、FSMC_BWTRx(片选写时序)。
& `( B# E' E: u( g* W6 L
% ]- X+ l3 l/ t% }
18、
RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值的,他的供电由VDD供电,VDD被切断后自动切换至外部的VBAT供电。/ H" k5 t6 n6 K! P# U: ~

- _/ G: u: \2 t! b19、
要修改BKP寄存器的值,必须取消其写保护的标志。BKP寄存器在上电时自动写保护。* D) f! E% b( ?! y: {. z

6 h6 i3 w3 U( _+ z6 x6 F20、
stm32有三种省电模式:
  • 睡眠模式,CM3内核停止,外设仍然运行
  • 停止模式,所有时钟都停止
  • 待机模式,1.8V内核电源关闭
    4 I9 f% P$ f" f5 h

    3 e! I' k# }( b" b+ _7 B, a6 H8 M" K
    7 x5 I# k0 b( Y. S1 S: Q
; Z0 p6 @$ U# q5 L, M
三种省电模式中,耗电量从上到下依次降低,待机模式的电流仅为2uA。

/ V  d# _4 X7 m( B& g1 G) ?9 g  T
21、从待机模式中唤醒单片机等效于让单片机复位,但是电源寄存器的值会有一个标志位指示单片机是被唤醒的,不是被复位的。
" p+ d4 o4 A/ w- ]0 N! u. M
5 p) o& c; @% Q" l
22、
ADC的时钟不要超过14MHz,否则转换精度会下降。最大转换速率为1MHz,即转换周期为1us(14MHz,采样周期为1.5个ADC时钟)

: q, I2 m; ~6 e8 ]( x
23、Tcovn=采样时间+12.5个周期。采样时间尽量选长一点,这样精度高一些,但是转换速率下降,这也是有利必有弊。" T/ g, P5 N* p3 D  h

) p$ e0 s( S0 A# v; Z  b- p/ P- }5 y5 y
24
微信图片_20220903152947.jpg
ARM处理器架构进化史
( |: z& V* h9 }- v
( D7 r- G. n: ^4 H; i7 _0 N
25、
ARM处理器有两种状态:ARM状态和Thumb状态。
' h: m, P2 i. [4 [% t
/ i+ r1 a+ s- L0 Y: L- M
微信图片_20220903152944.jpg
Thumb-2指令集与Thumb指令集的关系
5 L) r2 B, }% o% v- [' H
. e: @0 ?9 Q) F+ m) v3 a4 f6 R
上图图说明,Thumb2指令集做了一件很伟大的事情:将16位和32位的指令集融为一体,兼容性非常强。

: \( @$ [8 M* ?( n# g- `26、
MMU作为嵌入式处理器与应用处理器的分水岭标志à具有内存管理单元的嵌入式处理器可以定位为应用处理器。M系列和A系列的处理器的区别,在于A系列的处理器具有MMU单元可以进行内存模块的管理。
: {. r, Y  A& `# \" y6 s  O5 ?: S/ N
27
微信图片_20220903152941.jpg

: z: ^0 t" O9 C% G2 v5 d28、
MSP是系统复位后使用的堆栈指针,PSP由用户的代码使用。两个堆栈指针为4字节对齐。2 u0 j1 p) \/ D9 b* k
1 W6 ~% [% l( e0 P6 B, j
29、
在ARM编程领域中,凡是打断程序运行的事件,统称为异常(exception)。
, k( U9 Y, q. o- d$ |. \( Z
5 G& f* [; [) _% f% A
30、
因为存在LR(链接寄存器),所以可支持1级的子程序调用而不用压栈到内存,大大提高了运行速度。这就是说,我们在编程的时候,一级调用是不会耗费太多时间的,除非是二级调用。" b0 x8 [( V" `8 t3 s% B( w6 x

# \3 ~( @2 Y  U8 p+ a( E& E  L31、
处理器有两种操作模式:handler模式和线程模式。/ G) {7 g* O$ h

! P$ J; ~6 p" T8 X
微信图片_20220903152937.jpg
合法的操作模式转换图
4 {- c5 E+ H' F! r! D; c
处理器也有两种特权分级:特权级和用户级。上图说明:复位进入特权级线程模式,如果有异常,进入特权级的handler模式处理异常或中断例程,然后返回至特权级线程模式。通过修改CONTROL寄存器可以进入用户级线程模式。
- s4 P4 I4 {7 G- U4 L
32、两个高级定时器TIM1和TIM8是挂接在APB1总线上。
3 D" K& I" _  l$ r! f

2 d5 B3 d$ v/ L- F' L* d, i, L33、S
TM32的外部中断是以组来区分的,也就是说PA0,PB0,PC0单片机是无法区分其中哪个触发的中断à均为EXIT0线中断服务例程。
7 P. t' h, ~1 c) y
( f1 [& o9 T9 V6 o) C# [, _8 a
34、
所以,外部中断支持16路的中断分辨率。从另一个方面来讲,我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx,GPIO_PinSourcex);来开通中断线实现组内的不同中断。, M; S3 E0 ?+ m

9 S* V- j' I0 A  v  q$ s35、
DAC有两个寄存器,一个是DHR(Data HoldingRegister)数据保持寄存器,一个DOR(Data Output Register)数据输出寄存器。真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值。
* D0 t3 B* v2 W) }! p* D, ]6 C. C( N
9 {: t" }$ y2 q4 P9 y
如果是硬件触发转换,系统将在1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值。
2 Q( ?; G& ?/ O2 H$ y+ j, d2 I. N
36、DAC分8位模式和12位模式,其中后者可以选择左右对齐。
/ O' O5 \+ m0 I' ~) t" K/ ^: I) v6 M4 c3 \# p& P! B7 j! p5 `" T
转载自:电子产品世界6 m- N, I. Q- S, @
赞 收藏 评论0 发布时间:2022-9-3 15:32

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版