前言博文基于STM32F103ZET6芯片,标准固件库3.5.0和MDK5编写;博文并不讨论PWM的基础知识,而是直接去谈对PWM灵活的控制问题;想全面了解的可以看看我写的专门针对PWM的博客: 如有不足之处还行多多指教;PWM的两个重要参数占空比:0~100%;信号周期:PWM信号里一个高电平和一个低电平的时间和; 对这两个参数的设置是配置PWM输出的核心也是今天要讨论的主要任务;是什么决定上面
问题描述为了备赛蓝桥杯,开始更深入的接触PWM的各个模式(之前只使用过PWM1和PWM2的输出模式)。在比赛提供的官方固件库的基础上进行修改,暂且用了两块板子,板子A烧录的之前写的输出比较输出两路频率和占空比可变的PWM作为信号发生源供烧入捕获的板子B检测。 板子A一路是1Khz作为基频的频率可调,另一路是10Khz作为基频的占空比可调的PWM(只有四个按键,就一路一个功能了)。官方例程基本不需要
一、PWM波形的产生;使用定时器2 (TIM2)PA5端口输出。通过配置TIM_TimeBaseStructure.TIM_Period= 1000 - 1; TIM_TimeBaseStructure.TIM_Prescaler= 9000 - 1; TIM_OCInitStructure.TIM_Pulse= 300 ;三个参数,TIM_Prescaler控制计数频率,此处9000即计数频率为
在使用STM32F103产生固定频率、固定占空比的PWM波时,虽然有官方以及众多开发板提供的例程,但是关于有点问题并没有说的很清晰,并且《STM32F10X参考手册》的中文翻译可能容易造成歧义,所以一开始并没有理解,这里就梳理一下我的理解,如果有误解的情况,希望交流指正。1. 遇到的问题先直接上段配置代码,这段代码是产生一个20kHz固定频率,50%固定占空比的方波信号,典型的配置过程
申明以下都是个人理解,仅供参考。如果错误欢迎指教。本文不讲底层,根据实际使用来逆向讲解。1.什么是pwm?pwm最简单的理解就是“功率”,调节PWM的占空比就是调节功率。2.如何调节占空比?图1  根据图1很容易看出来调节CCRX的值就可以调节占空比,CCRX的值越大,占空比越大(在不超过ARR时)。在默认有效值为高电平的时,当CCRX的值等于ARR时PWM的波形为一条直线(即
文章目录:目录一、FLASH的相关背景知识二、FLASH的相关操作。三、项目中遇到的关于FLASH操作的问题。 一、FLASH的相关背景知识STM32的存储器分为RAM 和 ROM。RAM为常说的内存。比如手机的内存2G 4G等等。是程序跑起来时占用的存储空间。特点是掉电数据易丢失。ROM为常说的硬盘。比如手机的128G存储空间。特点是掉电数据不容易丢失。在STM32中FLASH 和 E
转载 2024-10-17 09:21:27
263阅读
1 、简介256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI_n(8位,但是STM32中只使用4位,高4位有效),每4个通道
   延时是一个很重要的概念,尤其是在利用单片机做项目的时候,比如利用IIC协议驱动EEPROM时,需要用到精准延时,延时时间太短或者延时时间太长都会影响到数据的写入和读出。因此正确写好延时对我们在学习单片机和利用单片机做项目时会有事半功倍的效果。      本文中实现延时用的是stm32f407系列单片机的定时器3,但不仅仅是定时器3,Syst
QSPI协议QSPI是Queued SPI(队列串行外围接口)的缩写,是由摩托罗拉公司推出的SPI协议的一个扩展,比SPI应用更加广泛,现在的FLASH、SRAM等存储器大多支持QSPI协议——QSPI是一种专用的通信接口,可连接单、双或四线SPI存储器QSPI在SPI协议的基础上增加了队列传输机制。STM32将Queued SPI协议接口实现为QUADSPI接口。QSPI的实现和SPI基本相似,
STM32cubemx教程 简介 STM32CubeMX 是 ST 意法半导体近些年力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、
tip:如有错误,希望指出,非常感谢! 目录一、前言二、STM32CubeMX使用步骤1.环境搭建2.工程搭建流程2.1 新建工程2.2配置时钟2.3 SYS配置,调试模式2.4 GPIO配置2.5生成代码2.6小结3.工程内容3.1生成工程内容框架3.2 注意事项三、总结附录|参考 一、前言STM32CubeMX是ST意法半导体的主动原创工具,集成了一个全面的软件平台,支持STM32每一个系列的
stm32L151开发心得(一)前言STM32低功耗的三种模式低功耗的硬件设计 前言最近结束了一个STM32L151的项目,项目基本条件就是电池供电、物联化,还有一堆通讯式的外设。我以前主要以榨干单片机性能的项目为主,这个项目刚好相反,要求低功耗,而且STM32L151我也是第一次使用,写几篇文章纪念一下。 这个项目在启动之初,照旧还是各路神仙争夺硬件配置制高点的批斗大会。对于单片机的选型,要么
文章目录1. STM32内存简述1.1. STM32寻址范围1.2. 存储器功能划分2. SRAM、ROM位置3. 程序占用内存大小3.1. 查看程序大小3.2. 占用内存分析4. text、data、bss 最近学到了 内存池、IAP 相关的知识,虽然明白大致的过程,但是对于具体的很多数字还是有些似懂非懂,因此又回来稍微细致的总结一下,方便理解。1. STM32内存简述1.1. STM32寻址
STM32--DMA一、DMA简介二、DMA功能框图工作模式 基于平台:stm32f407ZGT6开发板 STM32–DMA一、DMA简介DMA是什么DMA,全称为:Direct Memory Access,即直接存储器访问。其主要功能作用是用于数据传输并且不占用CPU。DMA传输数据功能很强、很高效。为什么说DMA传输数据是高效的呢?这是因为DMA在传输实现高速数据移动过程无需任何 CPU 操
要 运行  LWIP  不光 要实现  OS  的 一些 接口  ,还要 有 硬件 数据 接口 移植 ,即 网线上 来的 数据 怎么个形式 传递给  LWIP ,去解析 做出相应的 应答  ,2017年8月11日14:45:16 LWIP  官网  介绍 这个硬件数据 接口 即 要 填满 网卡 这个
CubeIDE编译器堆栈大小在工程目录列表xxx_FLASH.ld文件中,_Min_Heap_Size = 0x200 ; /* required amount of heap */ _Min_Stack_Size = 0x400 ; /* required amount of stack */MDK编译器堆栈大小在startup_stm32f103xb.s文件中,Stack_Size EQU
  1 ;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 2 ;然后在RAM中分配变量使用的堆 3 ;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配 4 ;分配完成后,再定义和实现相应的中断函数, 5 ;所有的中断函数全部带有[weak]特性,即弱定义,如果编译器发
转载 4月前
606阅读
PWM - 脉冲宽度调制,英文“Pulse Width Modulation”,简称脉宽调制,是利用 MCU 的数字输出来对模拟电路进行控制的一种非常常见的技术。
文章目录SPI介绍SPI相关的寄存器SPI 控制寄存器 1(SPI_CR1)9位SSM,8位SSI456位2位 MSTRSPI数据寄存器2(SPI_CR2)2位SSOE1 位TXDMAEN0位 RXDMAENSPI 数据寄存器(SPI_DR)SPI工作模式SPI中断SPI使用步骤使能 SPI2 的时钟配置相关引脚的复用功能初始化 SPI2, 设置 SPI2 工作模式使能SPI2SPI传输数据发送
转载 2024-07-21 07:43:11
1773阅读
       中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本。  所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够输入密码?最终,调试出bug就是由于中断优先级的影响。  本项目使用到的是STM32F030C8型号的MCU,我们可以
  • 1
  • 2
  • 3
  • 4
  • 5