发 帖  
原厂入驻New

[经验] 学习STM32你应该了解的77条小知识(上)

2019-11-25 09:10:57  704 STM32 单片机
分享
6
1、 SYSCLK时钟源有三个:HSI RC、HSE OSC、PLL


2、 MCO[2:0]可以提供4源不同的时钟同步信号,PA8
3、 GPIO口有两个反向串联的二极管用作钳位二极管。


4、 ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥
5、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟
6、 STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等;
电源复位由于外部电源的上电/掉电复位或者待机模式返回。复位除了BKP中的寄存器值不动,其他全部复位;
备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。
7、 (NestedVectored Interrupt Controller)NVIC嵌套向量中断控制器,分为两种:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。
两种优先级由4位二进制位决定。分配下来有十六种情况:


8、自动装载寄存器和影子寄存器:前者相当于51当中的溢出设定数值。而影子寄存器顾名思义是影子,就是寄存器的另一分copy。
实际起作用的是影子寄存器,而程序员操纵的则是自动装载寄存器。如果APPE位使能,表明自动装载寄存器的值在下一次更新事件发生后才写入新值。
否则,写入自动装载寄存器的值会被立即更新到影子寄存器。


9、计数器的数值与输出比较器相等时,翻转输出信号


10、ARM公司只生产内核标准,不生产芯片。ST、ti这样的公司从ARM公司那里购买内核,然后外加自己的总线结构、外设、存储器、时钟和复位、I/O后就组成了自己的芯片。


11、电容触摸屏原理:通过充放电的曲线不同来检测是否被按下。实际的实验过程中,TPAD可以用一块覆铜区域来替代,通过电容的充放电常数来确定是否按下。


12、OLED,即有机发光二极管,又称为有机电激光显示。下图为OLED的GRAM与屏幕的对应表


PAGE2单独列出来:


13、USART可以操纵SPI设备。不过最大频率只有4.5MHz
14、使用I/O口时应该注意的问题


15、ADC的Vref+和Vdda与VSS,Vref-一定要加高质量的滤波电容,切靠近单片机


16、在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。
内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。
17、FSMC中的DATASET和ADDSET的设置需要参看外部存储器的时序图来确定。
一般而言,DATASET指的是数据建立时间,也就是读/写信号开始到读/写信号停止(上升沿存储数据)的持续时间。(一般来说写比读快!)
而ADDSET指的是地址建立时间,指的是片选之后到读/写操作之前的时间,这是针对SRAM来说的,如果操纵的是TFT,不存在地址线,所以此时的ADDSET就是读/写信号结束到RS电平的转换时间。


18、


19、


20、FSMC的三个配置寄存器:FSMC_BCRx(片选控制配置)、FSMC_BTRx(片选时序)、FSMC_BWTRx(片选写时序)。
21、RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值的,他的供电由VDD供电,VDD被切断后自动切换至外部的VBAT供电。
22、要修改BKP寄存器的值,必须取消其写保护的标志。BKP寄存器在上电时自动写保护。
23、Stm32有三种省电模式:


三种省电模式中,耗电量从上到下依次降低,待机模式的电流仅为2uA。
24、从待机模式中唤醒单片机等效于让单片机复位,但是电源寄存器的值会有一个标志位指示单片机是被唤醒的,不是被复位的。
25、ADC的时钟不要超过14MHz,否则转换精度会下降。最大转换速率为1MHz,即转换周期为1us(14MHz,采样周期为1.5个ADC时钟)
26、Tcovn=采样时间+12.5个周期。采样时间尽量选长一点,这样精度高一些,但是转换速率下降,这也是有利必有弊。


27、
28、拿ARM7TDMI来说,T代表Thumb指令集,D是说支持JTAG调试(debugging),M意指快速乘法器,I则对应一个嵌入式ICE模块。
29、MMU作为嵌入式处理器与应用处理器的分水岭标志A具有内存管理单元的嵌入式处理器可以定位为应用处理器。
这么说M系列和A系列的处理器的区别在于A系列的处理器具有MMU单元可以进行内存模块的管理。

相关经验

王栋春 2019-11-25 09:58:50
学习借鉴一下
回复

举报

善泽触控 2019-11-27 15:21:26
不错 学习学习 很好
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表