stm32 如何在一个状态下只触发一次_收藏 | STM32单片机超详细学习汇总资料(一)...

本文介绍了STM32单片机的SYSCLK时钟源选择,包括HSI、HSE和PLL;讲解了GPIO口的钳位二极管和复位类型;强调了外设时钟开启的重要性;阐述了NVIC的中断控制器和优先级分配;并讨论了ADC、DAC的配置细节及电源管理中的省电模式。此外,还提到了STM32的外部中断处理和DAC的工作原理。
摘要由CSDN通过智能技术生成
5618e73f843cfabb4e9afa3c9bb041f3.gif

点击“蓝字”关注我们

861d388f5a1a5a077118f94015cb9fdd.png

◆1.SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL。

bbf4aa53995d9da45993c04fceb1f47c.png

◆2.MCO[2:0]可以提供4源不同的时钟同步信号,PA8。

◆3.GPIO口有两个反向串联的二极管用作钳位二极管。

5d582d3aebc96c7ba5e53f4f1d7e2add.png

◆4.ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥。

◆5.在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。

◆6.STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等;

电源复位由于外部电源的上电/掉电复位或者待机模式返回。复位除了BKP中的寄存器值不动,其他全部复位;

备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。

◆7.(NestedVectored Interrupt Controller)NVIC嵌套向量中断控制器,分为两种:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)。

两种优先级由4位二进制位决定。分配下来有十六种情况:

757b5520d91292347d69e6a04094d065.png

◆8.自动装载寄存器和影子寄存器:前者相当于51当中的溢出设定数值。而影子寄存器顾名思义是影子,就是寄存器的另一分copy。

实际起作用的是影子寄存器,而程序员操纵的则是自动装载寄存器。如果APPE位使能,表明自动装载寄存器的值在下一次更新事件发生后才写入新值。

否则,写入自动装载寄存器的值会被立即更新到影子寄存器。

552e616fbf920bad898a43608e317a6c.png

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

0afb358d7907553eb6666017ee58cd16.png

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

89f6f685bd221c92e98a5c8003270b34.png

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

603a9c9693b0d902a9d01074672102d7.png

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

45f0501cdb116ba1c150d147ae952525.png

PAGE2单独列出来:

7c787f0d053229f4a6faa1697c190c39.png

◆13.USART可以操纵SPI设备。不过最大频率只有4.5MHz

◆14.使用I/O口时应该注意的问题

8e8b62b3cbbd6e744fb829e8b29aab7b.png

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

dbffb0476c3f340badc1fa60348f9ad2.png

◆16.在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。

内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。

◆17.FSMC中的DATASET和ADDSET的设置需要参看外部存储器的时序图来确定。

一般而言,DATASET指的是数据建立时间,也就是读/写信号开始到读/写信号停止(上升沿存储数据)的持续时间。(一般来说写比读快!)

而ADDSET指的是地址建立时间,指的是片选之后到读/写操作之前的时间,这是针对SRAM来说的,如果操纵的是TFT,不存在地址线,所以此时的ADDSET就是读/写信号结束到RS电平的转换时间。

567ba88b7aba45b12363142b0d146858.png

◆18.

29927839ad47dc534715afe98b80c03b.png

◆19.

c0d3ad8654a4ed0d135d5088108cbe8c.png

◆20.FSMC的三个配置寄存器:FSMC_BCRx(片选控制配置)、FSMC_BTRx(片选时序)、FSMC_BWTRx(片选写时序)。

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

◆22.要修改BKP寄存器的值,必须取消其写保护的标志。BKP寄存器在上电时自动写保护。

◆23.Stm32有三种省电模式:

be71256115c09bc91c02566811891d08.png

三种省电模式中,耗电量从上到下依次降低,待机模式的电流仅为2uA。

◆24.从待机模式中唤醒单片机等效于让单片机复位,但是电源寄存器的值会有一个标志位指示单片机是被唤醒的,不是被复位的。

◆25.ADC的时钟不要超过14MHz,否则转换精度会下降。最大转换速率为1MHz,即转换周期为1us(14MHz,采样周期为1.5个ADC时钟)

◆26.Tcovn=采样时间+12.5个周期。采样时间尽量选长一点,这样精度高一些,但是转换速率下降,这也是有利必有弊。

◆27.

14410c1fa79d6d18a269711d65e42f95.png

◆28.拿ARM7TDMI来说,T代表Thumb指令集,D是说支持JTAG调试(Debugging),M意指快速乘法器,I则对应一个嵌入式ICE模块。

◆29.MMU作为嵌入式处理器与应用处理器的分水岭标志A具有内存管理单元的嵌入式处理器可以定位为应用处理器。

这么说M系列和A系列的处理器的区别在于A系列的处理器具有MMU单元可以进行内存模块的管理。

◆30.ARM处理器有两种状态:ARM状态和Thumb状态。

3f2b9e62eee3801c838bd30bee2a9a07.png

◆31.这张图说明了一切:Thumb2指令集做了一件很伟大的事情:将16位和32位的指令集融为一体,兼容性非常强!(这么说CM3不支持某些32位ARM指令集)

◆32.

5e71f366cbb77780ab2f86241499369c.png

◆33.MSP是系统复位后使用的堆栈指针,PSP由用户的代码使用。两个堆栈指针为4字节对齐!

◆34.在ARM编程领域中,凡是打断程序运行的事件,统称为异常(exception)。

◆35.因为存在LR(链接寄存器),所以可支持1级的子程序调用而不用压栈到内存,大大提高了运行速度。这就是说,我们在编程的时候,一级调用是不会耗费太多时间的,除非是二级调用!

◆36.处理器有两种操作模式:handler模式和线程模式。

f08077da9d76ec12bea670c0feaa3240.png

处理器也有两种特权分级:特权级和用户级。这张图说明了一切:复位进入特权级线程模式,如果有异常,进入特权级的handler模式处理异常或中断例程,然后返回至特权级线程模式。通过修改CONTROL寄存器可以进入用户级线程模式。

◆37.两个高级定时器TIM1和TIM8是挂接在APB1总线上

◆38.STM32的外部中断是以组来区分的,也就是说PA0,PB0,PC0单片机是无法区分其中哪个触发的中断à均为EXIT0线中断服务例程。

所以,外部中断支持16路的中断分辨率。从另一个方面来讲,我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);来开通中断线实现组内的不同中断。

◆39.DAC有两个寄存器,一个是DHR(Data HoldingRegister)数据保持寄存器,一个DOR(Data Output Register)数据输出寄存器。

真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值。

如果是硬件触发转换,系统将在1个ABP时钟周期后把值给DOR,如果是软件触发转换,时间为3个APB时钟周期。然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值。

◆40.DAC分8位模式和12位模式,其中后者可以选择左右对齐

3903026a60898858785388e6fe4f4f05.png 00cbefb020614ea40fa9bc942975ae2c.png 750fd4caaead968e445759a9ebc23852.png e90a12259c4c7b8a3a38c1ce9304d201.png af1f540ad2b6867b417cbef75e34250a.png

▲工程师福利,更多资料敬请关注!

您十月的免费打样券即将到期:

58d9c42a3652df8433bf6ea6e7d9c1ff.gif 1382dfcecc8af9d850e0927e799556db.png ec0a43879ddb335ca3aba86978c2c018.gif

长按识别加入PCB设计工程师交流群

58d9c42a3652df8433bf6ea6e7d9c1ff.gif 39e9bf8e40e6b8f99869e9807d493a2f.png ec0a43879ddb335ca3aba86978c2c018.gif

扫码关注捷配,点击菜单【领免费券】

1e62caaed80fd6670c91c59d5d3864f9.png

你“在看”我吗?

4bf191d5f4db27f4f3726dfb1d592057.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值