
STM32教程
文章平均质量分 95
STM32平时看到的一些优秀文档转载。
一直在路上的Tom
十年饮冰,难凉热血
展开
-
STM32-SPI通信
1SPI的基本介绍1.1SPI的简介SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI主要用于MCU和一些外设进行通信的场合,例如:EEPROM、Flash、AD转换器等一些应用中,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,这里全双工指的是可以在同一时刻设备进行接收和...原创 2021-10-28 21:30:07 · 4971 阅读 · 0 评论 -
STM32-IIC通信
1 IIC的基本介绍1.1IIC的简介IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、 IC 与 IC 之间进行双向传送, 高速 IIC 总线一般可达 400kbps 以上。这种总线类型是由飞利浦半导体公司(后被NXP收购)在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主...原创 2021-10-24 21:02:09 · 3884 阅读 · 1 评论 -
STM32-DMA控制器
1DMA的基本介绍1.1DMA简介DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果...原创 2021-10-24 14:47:22 · 2298 阅读 · 0 评论 -
STM32-DAC数模转换
1 DAC的基本介绍1.1 STM32DAC简介Digital-to-Analog Converter的缩写。指数/模转换器或者数字/模拟转换器。是指将离散的数字信号转换为连续变量的模拟信号的器件。典型的数字模拟转换器将表示一定比例电压值的数字信号转换为模拟信号。STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DA...原创 2021-10-19 23:12:36 · 5426 阅读 · 0 评论 -
STM32-ADC数模转换
1 ADC的基本介绍1.1 STM32ADC简介Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。STM32F1系列有3个ADC,精度为12位,是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对...原创 2021-10-18 23:26:35 · 9899 阅读 · 2 评论 -
STM32-RTC实时时钟
1 RTC实时时钟特征与原理1.1 RTC简介RTC是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行,只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。系统复位后,对后...原创 2021-10-17 14:55:15 · 4320 阅读 · 2 评论 -
STM32-TFTLCD显示
1 TFTLCD驱动原理1.1TFTLCD简介TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFTLCD具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。是目前最主流的LCD显示器。广泛应用于电视、手机、电脑、平板等各种电子产品。1.2模块简介1.2.1 ALIN...原创 2021-10-10 22:46:21 · 6120 阅读 · 2 评论 -
STM32-OLED显示
1OLED简介1.1OLED的定义和优势OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。OLED显示技术具有自发光的特性,采用非常薄的...原创 2021-10-07 12:18:48 · 14941 阅读 · 2 评论 -
STM32-通用定时器-输入捕获
1通用定时器输入捕获概述1.1输入捕获的工作原理在通用定时器框图中,输入捕获主要涉及到最顶上的一部分(计数时钟的选择)、中间部分(时基单元)、左下部分(输入捕获)这三个部分。这里主要讲解一下左下部分(输入捕获),其他两个部分可以参考文章:STM32-通用定时器-定时器中断。输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6、TIM7,其他的定时器都有输入捕获的功能。下面以一个简单的脉冲输入为例,简单地讲述一下输入捕获用于测量脉冲...原创 2021-10-05 13:40:12 · 6983 阅读 · 0 评论 -
STM32-通用定时器-PWM输出
1 通用定时器PWM概述1.1STM32定时器输出通道引脚这里以TIM3为例来讲解。STM32的通用定时器分为TIM2、TIM3、TIM4、TIM5,而每个定时器都有独立的4个通道可以用来作为:输入捕获、输出比较、PWM输出、单脉冲模式输出等。STM32的定时器除了TIM6和TIM7(基本定时器)之外,其他的定时器都可以产生PWM输出。其中,高级定时器TIM1、TIM8可以同时产生7路PWM输出,而通用定时器可以同时产生4路PWM输出,这样STM32最多可以...原创 2021-10-05 11:01:29 · 8978 阅读 · 1 评论 -
STM32-通用定时器-定时器中断
1STM32的定时器STM32F103ZET6一共有8个定时器,其中分别为:高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5);基本定时器(TIM6、TIM7)。他们之间的区别情况见下表: 定时器种类 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特殊应用场景 ...原创 2021-10-03 22:45:51 · 30012 阅读 · 6 评论 -
STM32-外部中断
1 外部中断概述EXTI(External interrupt/event controller)—外部中断/事件控制器,和在STM32NVIC中断优先级管理(中断向量表)中讲述的CM3内核的外部中断不同。特指的是,在中断向量表中的EXTI的外部中断。STM32的每个IO都可以作为外部中断输入。EXTI管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断...原创 2021-10-03 13:13:54 · 10791 阅读 · 1 评论 -
STM32-串口通信
1串行通信接口背景知识串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,其通讯协议可分层为协议层和物理层。物理层规定通信协议中具有机械、电子功能的特性,从而确保原始数据在物理媒体的传播;协议层主要规定通讯逻辑,统一双方的数据打包、解包标准。通俗的讲物理层规定我们用嘴巴还是肢体交流,协议层规定我们用中文还是英文交流。1.1设备之间通信的方式一般情况下,设备之间的通信方式可...原创 2021-10-02 21:21:09 · 17182 阅读 · 0 评论 -
STM32-NVIC中断优先级管理
1 NVIC中断优先级分组1.1NVIC的中断向量表Cortex-M3和CM4内核都支持256个中断,其中包含了16个内核中断(异常)和240个外部中断,并且具有256级的可编程中断设置。但是,STM32F1并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32F1有84个中断,包括16个内核中断(异常)和68个可屏蔽中断,具有16级可编程的中断优先级。而STM32F103系列上面,16个内核中断(异常)不变,而可屏蔽中断只有60个(在107系列才有68个),本博文只介绍...原创 2021-10-01 15:03:06 · 2071 阅读 · 1 评论 -
STM32-端口复用和重映射
1 端口复用功能1.1 端口复用的定义STM32有许多的内置外设(如串口、ADC、DCA等等),这些外设的外部引脚都是和GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫复用。详细的可以参考《STM32F103ZET6数据手册》p30的内容,表格的倒数第二栏就表示端口复用功能。比如说,STM32的串口1的引脚对应的I/O位PA9、PA10。而PA9、PA10默认的功能都是GPIO,所以说当PA9、P...原创 2021-09-30 19:23:16 · 2863 阅读 · 0 评论 -
STM32-SysTick定时器
1 SysTick定时器简介什么是SysTick?SysTick是一个24位的系统节拍定时器system tick timer,具有自动重载和溢出中断功能,所有基于Cortex_M3和Cortex_M4处理器的微控制器都可以由这个定时器获得一定的时间间隔。SysTick作用?在单任务引用程序中,因为其架构就决定了它执行任务的串行性,这就引出一个问题:当某个任务出现问题时,就会牵连到后续的任务,进而导致...原创 2021-09-29 22:43:02 · 6749 阅读 · 3 评论 -
STM32-时钟系统
1 时钟的定义时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令,才能够做其他的处理 (点灯,串口,ADC),时钟的重要性不言而喻。为什么 STM32 要有多个时钟源呢?STM32本身十分复杂,外设非常多 但我们实际使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并...原创 2021-09-20 20:54:34 · 8036 阅读 · 3 评论 -
STM32-寄存器地址名称映射分析
1 51单片机访问地址sfr P0 =0x80; //P0映射到地址0x80P0=0x00; //忘寄存器地址0x80赋值0x00sfr是一种扩充数据类型,点用一个内存单位,值域为0-255.利用它可以访问51单片机内部所有的特殊功能寄存器。前一句“sfr p0=0x80”就是将P0映射到地址0x80。后一句“p0=0x00”就是往p0地址(0x80)代表的寄存器写值。2 STM32单片机访问地址对MCU,一切底层配置,最终都是配置寄...原创 2021-09-19 17:05:37 · 3137 阅读 · 0 评论 -
STM32-按键输入
1 硬件连接1.1mini1.2战舰1.3 探索者KEY0->PE4 上拉输入KEY1->PE3 上拉输入KEY2->PE2 上拉输入WK_UP->PA0 下拉输入按键输入最关键的是对按键的初始化和输入判断。这里按键的初始化与LED的初始化不同的是GPIO的模式不一样了,LED是推挽输出,按键则相反,是输入,这个时候要考虑是哪一种输入方式,这里当我的板子上按键...原创 2021-09-19 10:53:43 · 11618 阅读 · 2 评论 -
STM32-跑马灯
1 硬件连接1.1mini1.2战舰/精英1.3 探索者2 F1库函数介绍 头文件:stm32f10x_gpio.h源文件:stm32f10x_gpio.c/* 命令功能设置GPIO配置为默认复位状态 ****/void GPIO_DeInit(GPIO_TypeDef* GPIOx);/* 初始化和配置功能 *********************************/void GPIO_Init(GPIO_T...原创 2021-09-18 15:59:31 · 1539 阅读 · 0 评论 -
STM32-GPIO篇
1 GPIO简介GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32芯片的GPIO被分成很多组,每组有16个引脚,所有的GPIO引脚都有基本的输入输出功能。最基本的输出功能是由STM32控制引脚输出高、低电平,实现开关控制,如把GPIO引脚接入LED灯,那就可以控制LED灯的亮灭,引脚接入到继电器或三极管,那就可以通过继电器或三极管控制外部大功率电路的...原创 2021-09-17 21:24:23 · 11474 阅读 · 3 评论 -
STM32 J-LINK、ST-Link、CMSIS-DAP
1.J-LinkJ-Link是德国SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器,很多ARM芯片的接口协议是JTAG,JLink一端接电脑USB接口,一端接CPU的JTAG接口,JLink充当的作用就是USB转JTAG,支持JTAG和SWD两种模式。可配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境; 支持ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4,Cortex A5/A8/A9等内核芯片的仿真;...原创 2021-09-14 11:59:21 · 10291 阅读 · 1 评论 -
stm32 ISP串口下载
1 ISP概念ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用 ISP 方式擦除或再编程。ISP 的时候需要用到(bootloader)自举程序,自举程序存储在 STM32 器件的内部自举ROM 存储器(系统存储器)中。其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中。每种串行接口都定义了相应的通信协议...原创 2021-09-13 21:17:50 · 4083 阅读 · 0 评论 -
STM32启动文件
startup_stm32f10x_ld_vl.s : for STM32 Low density Value line devicesstartup_stm32f10x_ld.s : for STM32 Low density devicesstartup_stm32f10x_md_vl.s : for STM32 Medium density Value line devicesstartup_stm32f10x_md.s : for STM32 Medium density dev...原创 2021-09-13 14:40:34 · 1696 阅读 · 1 评论 -
STM32官方固件库
1 基于标准外设库的软件开发1.1 STM32标准外设库概述STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设...原创 2021-09-12 22:20:06 · 3230 阅读 · 0 评论 -
STM32初探
1、为什么选择STM321.1 什么是STM32 意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。它具有以下三个特点:•新的基于ARM内...原创 2021-09-12 15:04:43 · 2693 阅读 · 0 评论