![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 84
主要记录我在STM32学习过程中的笔记
DreamerForLife
如果说世界上只有一件事是公平的,那就是时间。
欢迎访问我的个人博客daixiaotao.cn
展开
-
STM32—DMA直接存储器访问详解
DMA和我们之前学过的串口、GPIO都是类似的,都是STM32中的一个外设。串口是用来发送通信数据的,而DMA则是用来把数据从一个地方搬到另一个地方,而且不占用CPU。我们如果要把一串数据发送给串口 ,CPU先要把这一串数据先一个一个取回来暂存在CPU中的寄存器中,然后再一个一个发送给串口。这样就会导致CPU不能做其他事情,CPU一直处于被占用的状态。当DMA出现后,CPU只需要给DMA发送一条命令,如将数据发送给串口,然后DMA就来完成这个上述需要CPU完成的工作了。原创 2024-04-12 09:30:35 · 978 阅读 · 0 评论 -
STM32——USART串口通信详解
我们先来看一下RS-232与TTL电平的区别我们通常说的TTL电平,就是直接从单片机或直接从芯片中出来的。从图中可以看到,TTL电平里的1是由+5V来表示的,而RS232串口中的1是由-15V来表示的,于TTL电平表示的逻辑正好相反。由于RS232协议中峰值相差30V,所以容错能力非常强,在工业设备通信中应用比较广泛。原创 2024-04-09 20:41:07 · 1485 阅读 · 0 评论 -
STM32——中断应用概览
NVIC是嵌套向量中断控制器,属于内核外设,先配置外设的使能中断请求位,再配置NVIC的中断使能寄存器。比须两个都使能,才能顺利地收到外设的中断请求。(External interrupt/event controller)外部中断/事件控制器,当GPIO电平发生跳变时,由EXTI来产生中断,再交给NVIC。我们先来看EXTI框图,从框图的右下角可以看到一个输入线,中断就是从输入线进入EXTI的。原创 2024-04-09 20:30:20 · 424 阅读 · 0 评论 -
STM32——系统定时器详解
系统定时器,24位,只能递减,存在于内核,嵌套在NVIC中,所有的Cortex-M内核的单片机都具有这个定时器。首先我们来看一下SysTick功能框图counter(递减计数器)在时钟(STK_CLK)的驱动下,从reload(重装载寄存器)初值开始往下递减计数到0,和。然后又从reload值开始重新递减计数,如此循环。原创 2024-04-09 20:33:41 · 345 阅读 · 0 评论 -
STM32时钟树详解
在开发板系统初始化函数SystemInit()中,会对系统 时钟进行初始化,会调用SetSysClock()这个函数,而在SetSysClock()这个函数中,会将系统时钟设置为72M。在HSE旁边还有一个CSS——时钟监视系统,由于外部晶振存在不稳定性,一旦HSE失效,则自动切换至系统时钟为HSI。高速外部时钟,由外部晶振产生,也可以作为系统时钟的时钟源,还可以作为PLL的输入。经过PLL产生了一个PLLCLK,这个时钟也可以作为系统时钟的时钟源。低速外部时钟,一般用来给RTC——实时时钟提供时钟信号。原创 2024-04-09 20:26:17 · 458 阅读 · 0 评论 -
STM32—通过固件库点亮LED灯
由于使用寄存器和使用固件库点亮流水灯的流程大同小异,在此我为了记录方便,采用固件库点亮LED灯的方式来进行记录。使用寄存器点亮LED灯的方式不过就是需要到STM32的官方文档中去查询每个寄存器的地址。原创 2024-04-08 21:00:59 · 931 阅读 · 0 评论