代码改变世界

随笔分类 -  STM32

stm32 PWM输入捕获

2022-04-05 15:10 by jym蒟蒻, 878 阅读, 收藏, 编辑
摘要: 普通的输入捕获,可使用定时器的四个通道,一路捕获占用一个捕获寄存器. PWM输入,只能使用两个通道,通道1和通道2。 一路PWM输入占用两个捕获寄存器,一个捕获周期,一个捕获占空比。 这里,用通用定时器产生一路PWM信号,用高级定时器的通道1或通道2捕获。 通用定时器TIM3的通道1,PA6,用于输 阅读全文

stm32 输入捕获 测量脉宽

2022-04-05 15:09 by jym蒟蒻, 353 阅读, 收藏, 编辑
摘要: 选用通用定时器TIM5的CH1。 PA0接一个按键,默认接GND,当按键按下时,IO口被拉高,此时,可利用定时器的输入捕获功能,测量按键按下的这段高电平的时间。 宏定义方便程序升级、移植,举个例子: 输入捕获通道 GPIO 初始化,里面有一个GENERAL_TIM_CH1_GPIO_CLK,这个东西 阅读全文

stm32 PWM互补输出

2022-04-05 15:09 by jym蒟蒻, 1802 阅读, 收藏, 编辑
摘要: stm32高级定时器例子—stm32 PWM互补输出 定时器初始化结构体 TIM_TimeBaseInitTypeDef 时基结构体,用于定时器基础参数设置,与TIM_TimeBaseInit函数配合使用,完成配置。 typedef struct { TIM_Prescaler /*定时器预分频器设 阅读全文

stm32高级定时器

2022-04-05 15:08 by jym蒟蒻, 1205 阅读, 收藏, 编辑
摘要: stm32高级定时器 高级定时器时基单元: 包含一个16位自动重装载寄存器 ARR 一个16位的计数器CNT,可向上/下计数 一个16位可编程预分频器PSC,预分频器时钟源有多种可选,有内部的时钟、外部时钟。 一个8位的重复计数器 RCR,最高可实现40位的可编程定时。 STM32F103ZET6的 阅读全文

stm32 基本定时器

2022-04-05 15:07 by jym蒟蒻, 704 阅读, 收藏, 编辑
摘要: 定时器分类 stm32f1系列,8个定时器,基本定时器(TIM6,7)、通用定时器(TIM2,3,4,5)、高级定时器(TIM1,8)。 基本定时器:16位,只能向上计数的定时器,只能定时,没有外部IO 通用定时器:16位,可以向上/下计数的定时器,可以定时、输出比较、输入捕捉,每个定时器有4个外部 阅读全文

STM32 USART 补充

2022-04-05 15:06 by jym蒟蒻, 443 阅读, 收藏, 编辑
摘要: 串口通讯的数据包:发送设备通过自身的TXD接口传输到接收设备的RXD接口。 串口通讯的协议层中,规定了数据包的内容,由起始位、主体数据、校验位、停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。 异步通讯:不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数 阅读全文

stm32使用DAP下载程序

2022-01-28 22:18 by jym蒟蒻, 257 阅读, 收藏, 编辑
摘要: jym认为,会下载程序等于学会stm32,hahaha。 首先点这个魔术棒 接下来进行下面的设置: 配置Debug选项 配置Utilities选项 配置Degug-setting选项 选择目标板,flash大小由板子芯片型号决定,勾选reset and run,程序下载完就自动运行。 最后一定先编译 阅读全文

stm32 HSE HSI

2022-01-28 22:17 by jym蒟蒻, 176 阅读, 收藏, 编辑
摘要: stm32 HSE HSI 时钟树 main.c clkconfig.h clkconfig.c 时钟树 HSE_SetSysClock和HSI_SetSysClock这两个函数就是根据上面这个时钟树编写的。 main.c 这个实验是通过HSE或者HSI配置系统时钟,结果就是,用HSE比HSI灯闪的 阅读全文

stm32 NVIC EXTI

2022-01-28 22:17 by jym蒟蒻, 60 阅读, 收藏, 编辑
摘要: stm32 NVIC EXTI NVIC EXTI 原理图 main.c exti.h exti.c stm32f10x_it.c NVIC NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。配置中断的时候我们一般只用 ISER、ICER 和 IP 阅读全文

stm32 USART

2022-01-28 22:16 by jym蒟蒻, 289 阅读, 收藏, 编辑
摘要: 介绍的定义 串行通信、并行通信、全双工、半双工、单工、同步、异步、比特率、码元、波特率、TTL、RS232、DB9接口、DTE、DCE、协议层、USART、UART、CH340G芯片、USB。 通信基础 根据数据传送的方式,通讯可分为串行通讯与并行通讯。 串行通信:同一时刻只能传输一个数据位的数据。 阅读全文

stm32 SysTick

2022-01-28 22:16 by jym蒟蒻, 148 阅读, 收藏, 编辑
摘要: SysTick是系统定时器,属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产 生一次中断,以此循环 阅读全文

stm32 DMA

2022-01-28 22:15 by jym蒟蒻, 298 阅读, 收藏, 编辑
摘要: stm32 DMA 介绍的定义 存储器到存储器 main.c 存储器到外设 main.c usart_dma.c usart_dma.h 外设到存储器 main.c usart_dma.c usart_dma.h 中断函数 对比理解 介绍的定义 存储器:用来存储程序代码和数据。 易失性存储器:存储器 阅读全文

I2C协议

2022-01-28 22:13 by jym蒟蒻, 292 阅读, 收藏, 编辑
摘要: I2C物理层:物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。 I2C 通讯设备之间的常用连接方式: 总线:多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。一个 I2C 总线只使用两条总线线路,一条双向串 阅读全文

stm32 I2C架构

2022-01-28 22:13 by jym蒟蒻, 269 阅读, 收藏, 编辑
摘要: STM32的 I2C 片上外设专门负责实现 I2C 通讯协议, 只要配置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU 只要检测该外设的状态和访问数据寄存器,就能完成数据收发。架构图如下所示。 通讯引脚:STM32 芯片有多个 I2C 外设,外设的 I2C 通讯信号引出到不 阅读全文

SPI协议

2022-01-28 22:12 by jym蒟蒻, 264 阅读, 收藏, 编辑
摘要: SPI((Serial Peripheral Interface):串行外围设备接口,是一种高速全双工的通信总线。被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。 SPI 通讯使用3条总线及片选线,3 条总线分别为 SCK、MOSI、MISO,片选线为NSS。 NSS( 阅读全文

stm32 SPI架构

2022-01-28 22:11 by jym蒟蒻, 412 阅读, 收藏, 编辑
摘要: STM32 芯片集成了专门用于 SPI 协议通讯的外设。 通讯引脚:SPI 硬件架构从 MOSI、MISO、SCK 及 NSS 线展开;STM32 芯片有多个 SPI 外设,它们的 SPI 通讯信号引出到不同的 GPIO 引脚上,使用时必须配置到这些指定的引脚。 SPI1是APB2上的设备,最高通信 阅读全文

stm32 SPI、FLASH

2022-01-28 22:10 by jym蒟蒻, 606 阅读, 收藏, 编辑
摘要: main.c FLASH:掉电后数据不丢失,U 盘、SD 卡、SSD 固态硬盘、STM32 芯片内部用于存储程序的设备,都是 FLASH 类型的存储器。FLASH芯片(W25Q64)是一种使用 SPI 通讯协议的 NOR FLASH 存储器。 STM32 的 NSS 引脚是一个普通的 GPIO,程序 阅读全文

cortex-m3基础知识总结

2022-01-28 22:06 by jym蒟蒻, 829 阅读, 收藏, 编辑
摘要: cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断 参考 操作模式 处理器的操作模式:为了区别正在执行代码的类型。复位后,处理器进入线程模式、特权级。 处理者模式(handler mode):异常服务例程的代码 ,包括中断服务例程的代码。handler 模式总是特权级的。 线程模式(thr 阅读全文

STM32-GPIO学习-跑马灯实验和按键实验-寄存器版本和HAL库版本

2022-01-12 01:03 by jym蒟蒻, 774 阅读, 收藏, 编辑
摘要: 一、stm32跑马灯实验 a.GPIO general purpose input output 通用输入输出端口,可以做输入也可做输出,GPIO端口可通过程序配置成输入或输出。 STM32FXXXIGT6一共9组IO:PA~ PI,其中PA~ PH每组16个IO,PI只有PI0~PI11。16*8 阅读全文

STM32-时钟-时钟树-时钟初始化配置

2022-01-12 01:02 by jym蒟蒻, 3066 阅读, 收藏, 编辑
摘要: 1.STM32时钟 STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。可以直接作为系统时钟或者用作PLL时钟输入。 HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~26MHz。 LSI是低速 阅读全文