草庐IT

STM32CubeMX

全部标签

STM32—定时器(TIM)_基本定时

本文主要通过介绍定时器基本结构去学习如何使用定时器进行定时。一、定时器基本介绍定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断,从而达到计时功能。本文从通用定时器介绍。本文所使用芯片为STM32F103C8T6,拥有TIM1-TIM4四个定时器资源。1.1、基本定时器结构 图.2为基本定时器结构 红色框选部分为时基单元。【1】内部时钟(CK_INT)输入到PSC预分频器,预分频器会对输入时钟进行分频。如PSC=0时为1分频,即CK_CNT=CK_INT/1, PSC=1时,CK_CNT=CK_INT/2。【2】CNT计数器:对预分频后的时钟进行计数,计时时钟每来一个上升沿,计数器

STM32之CubeMX学习笔记(7)SPI驱动OLED及其优化

文章目录SPI通信SPI简述一个关于时钟系“小”通信协议的问题7针OLED使用SPI协议显示OLED软件SPIOLED硬件SPIOLED硬件SPI优化版总结SPI通信购买了逻辑分析仪后,总想着把所有的通讯信号全都看一遍。之前一篇笔记讲的是串口通信,做了一些小实验,搞清楚了如何基于底层利用串口传一些“非标”的数据。关于通信协议的第二篇,我想来看看SPI通信。SPI简述SPI通信是Serialperipheralinterface的缩写,中文是串行外设接口,它可以使单片机与各种外围设备以串行的方式进行通信和交换信息,外围设备包括FlashRAM、网络控制器、LCD屏幕、AD转换器、甚至是其他的MC

STM32标准库的部署和FreeRTOS的移植(适用各类开发板)

FreeRTOS的移植一、准备1.下载源文件2.文件内容2.1include文件2.2portable文件二、STM32工程部署1.标准库1.1下载标准库1.2标准库简介内核文件库文件配置文件和中断函数文件2.keil设置2.1为什么要添加STM32F10X_HD,USE_STDPERIPH_DRIVER宏定义2.1.1USE_STDPERIPH_DRIVER2.1.1STM32F10X_HD三、移植FreeRTOS到工程1.复制文件2.在keil工程中添加FreeRTOS内容3.修改FreeRTOSConfig.h文件4.修改stm32f10x_it.c文件四、编写程序一、准备1.下载源文件

ESP32-C3 迷你智能语音照明

一、概述二、硬件原理图设计三、硬件PCB软件设计四、软件设计五、结构设计六、总结一、概述本设计是使用ESP32-C3芯片,结合TP4057锂电池充电管理芯片、SIQ-02FVS3旋转编码器、离线语音识别模块、无源蜂鸣器、TYPE-C接口设计的一款迷你智能照明产品。功能特点:一键开关机,关机时做到绝对断电。旋转开关对四个LED(上方1206LED)进行开关控制,左旋操作LED渐亮,右旋操作LED渐暗,往下触发按键对LED进行开或关。无源蜂鸣器,实现开机声,关机声,还可播放音乐。语音识别模块控制LED亮灭,控制下方RGBLED进行不同颜色显示。前置0.96寸OLED显示。底部3.7V锂电池续航供电

通俗易懂讲明白定时器(stm32)

前言定时器是嵌入式开发中极其重要的一员,它可以分为软件定时器和硬件定时器。软件定时器很不精准,通过循环语句粗略的去计算延时的时间,对时序要求较高的场景是完全不适用的;硬件定时器在stm32中种类也是比较多的,基本定时器、通用定时器、高级定时器、低功耗定时器等,它们的基本特性相差无几,更多的是应用场景的不一样,例如高级定时器特性会更好一点(带可编程死区的互补输出、输出通道数更多等),意味着它的应用场景更高级,低功耗定时器功耗更低,可以在除待机模式以外的所有电源模式下保持运行,即使没有内部时钟源也可以运行。根据自己的需求去选择合适的定时器,这里仅对通用定时器进行讲解。1.通用定时器特性①16/32

STM32——使用PWM波完成呼吸灯

文章目录实验环境一、PWM工作原理1.基本特性2.PWM两个基本参数3.PWM信号电压调节原理4.PWM输出工作原理二、HAL库配置1.TIM3、4通道引脚分布2.TIM配置3.时钟RCC配置4.项目配置三、项目代码修改四、STM32F103C8开发板接线五、程序运行结果六、总结实验环境软件:STM32CubeMXKEIL5mcuisp串口通信助手硬件:STM32F103C8Tx杜邦线,面包板,USB转TTL一、PWM工作原理1.基本特性脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。广泛应用于电机控制、灯光的亮度调节、功率控制等领域。2.PWM两个基本参数周期(Period):

(STM32基础)STM32用keil5开发前准备

一、软件&驱动安装1)Keil5安装MDK-ARM版本后,需要安装对应芯片器件库,否则新建工程无芯片可选项。 查看设备管理器 stlink是否驱动正常,如果是感叹号则需要装驱动 2、插入STLINK后,在keil安装目录下找到安装驱动程序,安装STLINK驱动。3、插入usb转串口模块后,安装驱动程序(资料文件夹内 工具软件内)。二、新建STM32工程1)开发方式有如下几种:1、基于寄存器的方式(和51开发相似):这是最底层最直接的方式,使用程序直接配置寄存器,达到所需功能,但STM32结构复杂,寄存器太多所以不建议用此种方式。2、基于标准库(库函数)的方式:使用官方提供的封装函数,通过调用函

STM32 hal库使用笔记(三)定时器—输入捕获和计数脉冲

目录一、简介1.定时器简介2.输入捕获简介3.原理介绍二、HAL库配置1.时钟树的设置2.定时器时钟源选择2.1计数脉冲(代码对应3.1)2.2输入捕获(对应代码3.2) 三、代码编写实验目的:利用定时器输入捕获实现LED翻转;按键充当外部时钟源,实现LED翻转实验平台:正点原子精英板一、简介1.定时器简介参考:STM32hal库使用笔记(二)中断—定时器中断_乱码小伙的博客-CSDN博客2.输入捕获简介  IC(InputCapture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数

stm32使用SPI读取Flash

本次实验为使用SPI的轮询方式读写Flash。采用HAL库进行书写。我使用的主控芯片是stm32f103zet6,上面搭载的Flash芯片是W25Q64芯片,这个芯片的容量是8MB。SPI的硬件接口和通信协议SPI的硬件接口 SPI有四线串行总线,其信号线分别有:SCLK:串行时钟(主机输出)MOSI:主输出从机输入或主机输出从机输入(主机输出的数据)MISO:主输入从输出或主输入从输出(从输出的数据输出)SS:从机选择(通常为低电平有效,一般写作NSS,主机输出),当一个SPI网络中有多个SPI从设备时,主设备通过控制这些设备的NSS信号来选择通信的从机设备,未被选择的设备NSS信号为高阻态

STM32笔记—USART

课外知识插入:NMOS和PMOS电流流向以及导通条件_pmos和nmos_perseverance52的博客-CSDN博客https://blog.csdn.net/weixin_42880082/article/details/121281677 导通条件NMOS的特性,Vgs大于一定的值就会导通,适合用于源极接地时的情况(低端驱动),只要栅极电压达到4V或10V就可以了。PMOS的特性,Vgs小于一定的值就会导通,适合用于源极接VCC时的情况(高端驱动)。但是,虽然PMOS可以很方便地用作高端驱动,但由于导通电阻大,价格贵,替换种类少等原因,在高端驱动中,通常还是使用NMOS。NMOS管的