小白学习STM32
文章平均质量分 91
嵌入式学习小白,从头学习!
嵌入式小白儿
菜就多学
展开
-
STM32高级篇—按键FIFO
FIFO的基本思想,就是先进先出,还是比较好理解的,我们以几张图为代表,就可以轻松的搞定。2)系统是非阻塞的,这样系统在检测到按键按下的情况下,由于机械按键抖动的原因不需要再这里等待一段事件,然后再确定按键是否按下。1)可以有效地记录按键事件的发生,尤其使对按键的按下,长按,弹起等事件的发生,使用FIFO的方式实现是一种非常好的思路。分别按下按键,K1,K2,K3按键被按下的事件将进入FIFO当中。这个时候写指针会根据写入的事件从而发生改变。通过读指针,实现对按键事件的读写操作。原创 2024-06-11 15:07:38 · 1259 阅读 · 0 评论 -
玩转STM32-通信协议SPI(详细-慢工出细活)
SPI系统可直接与各个厂家生产的多种标准外围器件接口,它只需4条线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(NSS)。(1)MISO:该引脚在从模式下发送数据,在主模式下接收数据。(2)MOSI:该引脚在主模式下发送数据,在从模式下接收数据。(3)SCK:串口时钟,作为主设备的输出,从设备的输入。(4)NSS:这个是一个可选的引脚,用来选择主/从设备。原创 2024-05-31 14:20:13 · 3286 阅读 · 0 评论 -
玩转STM32-I2C通信协议(详细-慢工出细活)
当总线处于空闲状态时,由于上拉电阻的作用,总线呈现高电平,如果某个芯片需要输出数据,可以通过输出驱动实现数据传输。为了克服I2C总线这个缺点,NXP公司开了有源I2C总线终端,它采用两个互联的充电泵来等效上拉电阻,信号变化瞬间有源器件可以提供相当大的充放电电流,加快信号转换速率,降低寄生电容的影响。I2C总线上传输数据的最小单位是一个字节,首先发送数据位最高位,每传送完一个字节,接收器必须发送一个应答位,如果数据接收器来不及处理数据,可以通过拉低时钟线SCL来通知数据发送器暂停传输;原创 2024-05-28 11:36:14 · 1788 阅读 · 0 评论 -
玩转STM32-数模转换器ADC(详细-慢工出细活)
利用ADC单通道模式,对电压值进行采集,并将其电压值进行转化,,最后通过OLED进行显示。原创 2024-05-27 10:15:51 · 1487 阅读 · 0 评论 -
玩转STM32-直接存储器DMA(详细-慢工出细活)
DMA用来提供外设与外设之间、外设与存储器之间、存储器与存储器之间的高速数据传输,无需CPU干预,数据可以通过DMA快速传输,节省CPU的资源。在实现DMA传输时,由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移的问题,即DMA传输前,CPU把总线控制权交给DMA控制器,在结束DMA传输后,DMA控制器立即把总线控制权交回CPU。一个完整的DMA传输过程包括DMA请求、DMA响应、DMA传输、DMA结束等4个步骤。原创 2024-05-23 13:18:23 · 1316 阅读 · 0 评论 -
玩转STM32-通用同步/异步收发器USART(详细-慢工出细活)
在串行通信中,接收端接收到一连串的数据流后,应正确地识别各个数据起始和结束位置,即保证接收端与发送端数据的同步,否则就无法保证数据的正确接收。在串行通信中,每秒钟传送的二进制数的位数称为波特率,单位时比特/秒,或波特。即进行通信的两个设备都具有传送与接收的能力,但是在同一时刻只能一个设备进行数据传送而另一个设备进行数据接收。STM32的USART外部引脚包括接收数据输入(RX)、发送数据输出(TX)、清除发送(nCTS)、发送请求(xRTS)和发送器时钟输出(CK),通过这些引脚可以与其他外部设备通信。原创 2024-05-22 11:40:28 · 1553 阅读 · 0 评论 -
玩转STM32-通用定时器TIM(详细-慢工出细活)
STM32内部集成了多个定实/计数器,根据型号不同,STM32系列芯片最多包含8个定时/计数器。其中TIM6和TIM7为基本定时器,TIM2·TIM5为通用定时器,TIM1和TIM8为高级控制定时器,功能最强。三类定时器均可使用8MHz内部时钟作为时钟源,16位计数单元最大计数为65536,均可产生中断和DMA请求。除基本定时器计数方向为向上外,其他两类定时器均有向上、向下和双向3种计数方向。1. 主要功能介绍外部事件计数:可计算外部脉冲个数、频率和宽度。输入捕获:用来计算脉冲频率和宽度。原创 2024-05-21 15:00:47 · 1537 阅读 · 0 评论 -
玩转STM32-外部中断(详细-慢工出细活)
这个寄存器组包含15个32位寄存器,一个可屏蔽中断占用8位,因此一个寄存器可以控制4个可屏蔽中断(32除以8),以共15×4 = 60.在这占用的8位中只使用了高4位,可分为5组,即0,1,,2,3,4五个组,5组分配决定了STM32F103系列控制器中断优先级的分配。由于具有两个优先级,系统在中断处理中可以实现中断嵌套,即中断系统正在执行一个中断服务时,另一个抢占优先级更高的中断请求,这时会暂停终止当前执行的中断服务区处理抢占优先级更高的中断,处理完毕后返回被中断的中断服务中继续执行。原创 2024-05-20 16:10:08 · 1272 阅读 · 0 评论 -
玩转STM32-通用输入输出GPIO(详细-慢工出细活)
STM32F10x处理器的每个GPIO端口都对应有2个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)、2个32位数据寄存器(GPIOx_IDR,GPIOx_ODR)、1个32位置位/复位寄存器(GPIOx_BSRR)、1个16位复位寄存器(GPIOx_BRR)和1个32位锁定寄存器(GPIOx_LCKR)。端口配置低寄存器—GPIOx_CRL该寄存器用来设置IO口(A~G)低8位的工作模式,每个IO口的位占用CRL的4位,低2位位MODE[1:0],用来配置输出速度。原创 2024-05-20 12:58:52 · 1822 阅读 · 0 评论 -
玩转STM32-非常重要的系统时钟(详细-慢工出细活)
系统时钟最大频率为72MHz,它通过AHB分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、32、64、128、256、512分频。比如51单片机使用的典型12MHz晶振作为时钟源,则外设如IO口、定时器、串口等设备的驱动时钟便已经是固定的,用户无法将此时时钟的速率更改,除非更换晶振。由于系统的复杂性,各个硬件模块很可能对时钟信号有自己的需求,这就要求在系统中设置多个振荡器,分别提供时钟信号,或者从一个主振荡器开始,经过多次倍频、分频、锁相环等电路,生成各个模块的独立时钟信号。原创 2024-05-17 12:17:09 · 1187 阅读 · 0 评论 -
玩转STM32-MDK软件下载及安装教程(详细-慢工出细活)
keil安装及下载,注册机,pack包原创 2024-05-16 17:10:58 · 2375 阅读 · 0 评论 -
玩转STM32-CMSIS软件架构(详细-慢工出细活)
CMSIS是一种标准化软件接口,是独立于供应商的Cortex-M处理器硬件抽象层,为微处理器和外设实现一致且简单的软件接口,简化了软件复用,降低了操作系统的移植难度,同时也缩短了新开发人员学习的时间,更能减低开发成本。STM32F10x标准外设库(也称固件库)是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所由外设的性能特征,而且包括每一个外设的驱动描述和应用实例,同构使用该固件函数库无需深入掌握细节便可开发每一个外设。(2)stm32f10x.h是设备外设访问层头文件。原创 2024-05-16 15:00:46 · 2096 阅读 · 0 评论 -
玩转STM32-F1系列单片机结构(详细-慢工出细活)
102—ARM Cortex-M3内核,USB基本型;(5)Flash容量:B— 128KB(中容量),4—16KB(小容量),6—32KB(小容量),8—64KB(中容量),C—256KB(大容量),D—384KB(大容量),E—512KB(大容量),F—768KB(大容量),G—1MKB(大容量)。(4)引脚数目:R—64引脚,F—20引脚,G—28引脚,K—32引脚,T—36引脚,H—40引脚,C—48引脚,U—63引脚,O—90引脚,V—100引脚,Q—132引脚,Z—144引脚,I—176引脚。原创 2024-05-16 14:54:48 · 1300 阅读 · 0 评论 -
玩转STM32-什么是ARM嵌入式系统(详细-慢工出细活)
以往的微处理器、单片机和DSP处理器应用设计,属于器件或者芯片级应用开发技术,而嵌入式系统具有系统级应用开发技术。嵌入式系统的设计以操作系统和硬件系统提供的接口作为应用系统设计的基础,其开发技术与PC机的应用开发类似。玩转STM32前,我们需要明白嵌入式系统的概念以及常见的ARM微处理器,对STM32系列微处理器有一定的了解,帮助我们更容易搞懂STM32。嵌入式系统是以计算机技术为基础、以应用为中心,软件、硬件可裁剪,应用系统对功能可靠性、成本、体积、功耗严格要求的专业计算机系统。1.2 嵌入式系统发展。原创 2024-05-16 10:09:14 · 1084 阅读 · 1 评论