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

STM32大神笔记之单片机学习

[复制链接]
gaosmile 发布时间:2020-7-3 13:01
1、在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。
* o) t" w9 _/ E0 k8 B1 }
. {; O% I( a( ~4 W4 Y! l+ |
内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。

' J4 c. b6 n$ {: M; j( N) I8 G$ g, ~
2、FSMC中的DATASET和ADDSET的设置需要参看外部存储器的时序图来确定。
' E: ^5 x) [( e9 i7 L
一般而言,DATASET指的是数据建立时间,也就是读/写信号开始到读/写信号停止(上升沿存储数据)的持续时间。(一般来说写比读快!)。

" C+ l. K4 z5 {7 S# U5 r
而ADDSET指的是地址建立时间,指的是片选之后到读/写操作之前的时间,这是针对SRAM来说的,如果操纵的是TFT,不存在地址线,所以此时的ADDSET就是读/写信号结束到RS电平的转换时间。
' A8 v. i& S' G# O0 y) U
微信图片_20200703125934.jpg

- q, V: U1 c. v# N/ R
3、
9 _1 H4 h3 c# V0 Q6 W2 m
微信图片_20200703125938.jpg
( A& Q# ?, t% x0 N7 w
4、
% Q- x% g# K. L0 y2 G
微信图片_20200703125941.jpg

$ F/ D$ j) l( a+ ?: h6 J5 o
5、FSMC的三个配置寄存器:FSMC_BCRx(片选控制配置)、FSMC_BTRx(片选时序)、FSMC_BWTRx(片选写时序)。

$ Q; s4 O0 w) q
6、RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值的,他的供电由VDD供电,VDD被切断后自动切换至外部的VBAT供电。

2 D0 d4 }# C0 V# K$ k$ D7 I
7、要修改BKP寄存器的值,必须取消其写保护的标志。BKP寄存器在上电时自动写保护。

* ^4 f9 ^- K$ C3 {6 T
8、Stm32有三种省电模式:
! ]" p: X$ ?+ u7 R" X' y6 ~' u
微信图片_20200703125945.jpg
) ~5 h6 j  K$ I- m- a
三种省电模式中,耗电量从上到下依次降低,待机模式的电流仅为2uA。

" M8 z9 F# J# E! ^6 m- U
9、从待机模式中唤醒单片机等效于让单片机复位,但是电源寄存器的值会有一个标志位指示单片机是被唤醒的,不是被复位的。
' |; b  k( n4 Y' b9 j
10、ADC的时钟不要超过14MHz,否则转换精度会下降。最大转换速率为1MHz,即转换周期为1us(14MHz,采样周期为1.5个ADC时钟)

7 h/ o, M) A. S& `0 ^
11、Tcovn=采样时间+12.5个周期。采样时间尽量选长一点,这样精度高一些,但是转换速率下降,这也是有利必有弊。

5 {5 c; Z# _3 `2 M! h
12、   
" r0 `) \4 K' \! S7 t. o. {$ w
微信图片_20200703125949.jpg
* A" D3 K" N6 t  O& y8 k
13、拿ARM7TDMI来说,T代表Thumb指令集,D是说支持JTAG调试(Debugging),M意指快速乘法器,I则对应一个嵌入式ICE模块。

! y4 V. [% J- {) O5 n; p0 E
14、MMU作为嵌入式处理器与应用处理器的分水岭标志à具有内存管理单元的嵌入式处理器可以定位为应用处理器。
3 O" J$ p& F+ R" m5 x
这么说M系列和A系列的处理器的区别在于A系列的处理器具有MMU单元可以进行内存模块的管理。

0 r3 M& ^9 }& P- y2 i) I
15、ARM处理器有两种状态:ARM状态和Thumb状态。
! `( n( c# }- J& X
微信图片_20200703125952.jpg

; a0 v& Q+ I4 |/ [) C
16、这张图说明了一切:Thumb2指令集做了一件很伟大的事情:将16位和32位的指令集融为一体,兼容性非常强!(这么说CM3不支持某些32位ARM指令集??)

+ i& K3 H5 Z& i/ {  L9 z6 w$ L
17、

8 i: j# y# Q! G
微信图片_20200703125955.jpg
. y6 P6 B4 M; t4 I' [; R
18、MSP是系统复位后使用的堆栈指针,PSP由用户的代码使用。两个堆栈指针为4字节对齐!!

; w3 i) z, I0 ]( R1 v) n2 ]
19、在ARM编程领域中,凡是打断程序运行的事件,统称为异常(exception)。
0 L/ O% |) U: W! k3 a' X, V
20、因为存在LR(链接寄存器),所以可支持1级的子程序调用而不用压栈到内存,大大提高了运行速度。---à这就是说,我们在编程的时候,一级调用是不会耗费太多时间的,除非是二级调用!
  }/ n  X! J' Z. d! W
收藏 评论0 发布时间:2020-7-3 13:01

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版