MCU
文章平均质量分 93
STM32
爱洋葱
One battle, one person
展开
-
SDRAM 介绍
1、名词解释SDRAM :Synchronous Dynamic Random Access Memory,同步动态随机存储器。同步是指其时钟频率和CPU前端总线的系统时钟相同,也就是双方通信,有同步时钟;内部命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据的读写。NOTES:这里需要强调一下:为了保证数据一直都在,SDRAM 需要不停的去刷新,刷新,刷新;2、SDRAM 内部结构这里以...原创 2021-08-24 00:20:55 · 9445 阅读 · 1 评论 -
STM32F103ZET6 — SPI
简介SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局...原创 2018-07-31 00:34:12 · 13946 阅读 · 0 评论 -
STM32F103ZET6 — SDIO (Mirco SDCard)
1. SDIO 接口简述SDIO 接口用于访问 MMC 卡,SD 存储卡或者 SDI/O 卡的接口标准。这里要做的是 Micro SDCard,也就是 TF Card(存储卡)的操作。属于第二种。本实验中使用的Micro SD卡属于SDSC(标准容量,最大两G)卡。介绍卡的种类是因为SD协议中的命令也支持这三种类型的卡,因此对STM32中的SDIO接口进行初始化后,上电后就要对接入...原创 2018-08-16 23:40:44 · 10558 阅读 · 11 评论 -
USB 协议分析(含基本协议和 USB 请求和设备枚举)
目录1. 物理特性1.1 引脚1.2 USB 信号(差分信号)1.3 USB 信号编码(NRZI)1.4 USB 字节序1.5 USB 设备检测2. 通信协议2.1 包组成(Packets Content)2.1.1 PID 域2.1.2 Address 地址域2.1.3 Frame Number 帧号域2.1.4 Data 数据域2.1.5 C...原创 2018-08-30 00:49:29 · 40382 阅读 · 42 评论 -
USB 协议分析之 HID 设备
1. 简述 USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。 USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用...原创 2018-09-10 01:21:00 · 82120 阅读 · 14 评论 -
STM32F103ZET6 — PWM(TIM1)
简介首先聊聊 PWM 输出。脉宽调制(PWM,Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。尤其是电机控制。PWM 的主要参数包括频率和占空比。死区的概念是在 PWM 控制电机引入的。由于 H 桥的存在,每个桥的上半桥和下半桥是绝对不能同时导通的,但高速的PWM驱动信号...原创 2018-11-29 00:03:00 · 18354 阅读 · 0 评论 -
STM32 启动过程简述
根据启动模式分析的结论:1、 通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x02000000,同时复位后PC指针位于0x02000000处;2、 通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x08000000,同时复位后PC指针位于0x08000000处;3、 通过boot引脚设置可以将中断向量表定位于内置Bootloader区,本文不对这...原创 2018-06-12 01:50:36 · 12448 阅读 · 2 评论 -
IIC 总线协议详解
目录1、I2C总线物理拓扑结构2、I2C总线特征3、I2C总线协议4、I2C总线操作转自:https://www.cnblogs.com/aaronLinux/p/6218660.html1、I2C总线物理拓扑结构I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制...转载 2019-08-27 16:09:43 · 6854 阅读 · 0 评论 -
STM32F103ZET6 — IWDG
简介首先简单介绍一下看门狗的作用。看门狗用来防止系统在运行过程中遇到的各种异常情况,而导致程序不能继续运行。可以理解为,看门狗是一种可以挽救系统进入异常进而系统无法继续工作的保障。当系统启动看门狗功能后,计数器开始计数,在计数器完成计数的时刻之前,系统程序必须“喂狗”,使得让看门狗知道系统依然“活着”。如果到了指定时间,系统没有去“喂狗”,则看门狗产生一个复位信号,系统从 Reset 重新...原创 2018-07-22 21:55:05 · 2163 阅读 · 0 评论 -
STM32F103ZET6 — 端口Remap
准备在 STM32F103ZET6 玩高级定时器 TIM1 / TIM8 的时候,突然发现一些端口复用的问题:TIM1 的管脚如下所示:USART2 的管脚如下:而重映射寄存器 AFIO 的默认值是 0x0000 0000这就代表了上述的 PA9, PA10同时被USART2 和 TIM1 使用了,这让我很是纠结,到底这几个管脚是什么功能,如何进行配置。在网上找到一些相关的说明,不敢独享,赶紧贴出...原创 2018-07-04 23:59:38 · 3544 阅读 · 0 评论 -
STM32F103ZET6 —— GPIO
STM32 的 GPIO 可以由软件配置成为几种不同的模式,每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问:A. 芯片侧:1. 输入:MODE Descriptions输入浮空引脚配置成为浮空状态,接施密特触发器,常用的场景是外接按键输入上拉输入接上拉电阻,将不确定的信号钳位到高电平输入下拉输入接下拉电阻,将不确定的信号钳位到低电平模拟输入信号直接进入ADC模块,即无...原创 2018-06-13 00:33:11 · 5878 阅读 · 0 评论 -
STM32F103ZET6 时钟(2)—— 代码篇
基于特定的开发板上的时钟策略:倍频/分频系数需要在使能 PLL 之前进行配置,所以需要在 Open PLL 之前将所有系统的时钟分频器系数以及PLL的倍频系数配置好。整个时钟的配置流程如下所示:(1) 开启HSE,等待HSE稳定 (2) 设置APB2、APB1、AHB分频系数 (3) 设置PLL的时钟来源和PLL的倍频系数 (4) 开启PLL,等待PLL稳定 (5) 设置SYSCLK源为 PLL ...原创 2018-06-07 00:24:37 · 3403 阅读 · 2 评论 -
STM32F103ZET6 启动模式
STM32三种启动模式:STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。在每个STM32的芯片上都有两个管脚B...转载 2018-05-31 23:14:52 · 4473 阅读 · 0 评论 -
STM32F103ZET6 — USART
串口通信介绍UART串口通信,使用三线即可进行最基本的数据收发传送:在数据线上的 Timing 遵循标准的串口通信协议,由起始位,数据,校验位,停止位组成,数据传输 LSB -> MSB:板载 USART 资源介绍当然,由于电平不一样,使用 RS232 标准进行串口数据传送,需要增加 MAX3232 进行电平转换,再接PC:单板上的 T1IN 和 R1OUT 接到了 STM32 芯片的 US...原创 2018-06-26 23:57:45 · 14746 阅读 · 4 评论 -
STM32F103ZET6 — ADC
STM32F103ZET6 拥有12位ADC,是一种逐次逼近型模拟数字转换器。12bits ADC 代表了 ADC 的转换精度。同时 ADC 的输入时钟 ADCCLK 不能超过 14MHz(Datasheet规定)它是由PCLK2经分频产生。ADC输入范围:Vref- ≤ Vin ≤ Vref+参考电压中,单板上Vref-直接接到了 GND,Vref+接到了Vcc 3.3V。支持 DMA 请求支持...原创 2018-07-02 23:34:16 · 11729 阅读 · 0 评论 -
STM32F103ZET6 — EXTI
STM32F103ZET6 支持 20 个外部中断输入(EXIT0~EXIT19),其中:EXTI线16连接到PVD输出EXTI线17连接到RTC闹钟事件EXTI线18连接到USB唤醒事件EXTI线19连接到以太网唤醒事件(只适用于互联型产品)硬件的内部逻辑如下所示:...原创 2018-06-27 22:45:53 · 1939 阅读 · 0 评论 -
STM32F103ZET6 — RTC
简介"RTC"是Real Time Clock 的简称,意为实时时钟。即,提供类似于 PC 上的时间记录信息的功能。既然是实时时钟,则至少应该有秒、分、时等信息。也可以直观的把他理解成为一个计数器,一直累加。但又不同于 CPU 上电后的那些计数器,对于 RTC ,需要支持的是掉电后的继续计数(存在备用电源)。所谓掉电,是指电源Vpp断开的情况下,为了RTC外设掉电可以继续运行,必须给STM32...原创 2018-07-17 02:50:47 · 3492 阅读 · 0 评论 -
STM32F103ZET6 — TIM6/TIM7
介绍STM32F103ZET6 定时器资源非常丰富,根据 datasheet 描述,涵盖如下几种类型:高级定时器 TIM1 / TIM8通用定时器 TIM2 / TIM3 / TIM4 / TIM5 基本定时器 TIM6/ TIM7本次描述的重点是基本定时器 TIM6/ TIM7基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基...原创 2018-07-04 23:26:17 · 5735 阅读 · 2 评论 -
STM32F103ZET6 时钟(1)
STM32 的时钟设计显得较为繁琐,时钟树如图所示:1. 系统上电时刻,默认使用内部 HSI (8M)作为时钟源。HSI时钟信号由内部 8MHz 的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入。HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振荡器短。然而,即使在校准之后它的时钟频率精度仍较差。上电后,可以通过选择时钟源来切换时钟到HSE。2...原创 2018-06-06 00:53:27 · 4616 阅读 · 0 评论