当前位置: 首页 > news >正文

jsp做的婚恋网站草莓永久地域网名入2022

jsp做的婚恋网站,草莓永久地域网名入2022,西双版纳疫情最新情况,wordpress 小工具 位置目录 定时器 输出脉冲模式: PWM模式(PWM Mode) 输出比较模式(Output Compare Mode) 总结 占空比: 输出比较模式与占空比 PWM模式与占空比 输出比较模式与PWM模式的结合 输出比较模式实例&#xf…

目录

定时器

输出脉冲模式:

PWM模式(PWM Mode)

输出比较模式(Output Compare Mode)

总结

占空比:

输出比较模式与占空比

PWM模式与占空比

输出比较模式与PWM模式的结合

输出比较模式实例:

问题记录:

参考:

定时器

定时器分类:

高级定时器

通用定时器

基本定时器

三种定时器都可以输出pwm,但是常用高级和通用定时器,功能更多。

输出脉冲模式:

常用的四种输出脉冲模式:

1.定时器中断里面设定电平高低进行脉冲输出,简单的翻转。

2.PWM1

3.PWM2

4.输出比较模式(也是一种翻转)

第一种很少用。

pwm1和pwm2的区别还没有搞懂。

PWM模式(PWM Mode)

PWM模式是定时器模块的一种重要功能,用于生成周期性变化的脉冲信号。STM32的定时器模块通常支持两种PWM模式:PWM1和PWM2。

  • PWM1模式:在PWM周期内,当定时器的计数值小于比较值时,输出为高电平;当计数值大于比较值时,输出为低电平。
  • PWM2模式:与PWM1相反,在PWM周期内,当定时器的计数值小于比较值时,输出为低电平;当计数值大于比较值时,输出为高电平。

优点:

  1. 高效生成连续波形:硬件生成周期性PWM信号,不需要CPU干预,适用于需要连续波形输出的场景。
  2. 灵活控制占空比:通过改变比较值可以灵活控制PWM信号的占空比,适用于调光、调速等应用。
  3. 多用途:广泛应用于电机控制、LED调光、音频信号生成等领域。

缺点:

  1. 配置相对复杂:需要正确设置定时器的频率、周期和比较值,初次使用可能需要花时间理解。
  2. 频率和分辨率限制:PWM信号的频率和分辨率受限于定时器的硬件规格和时钟源,可能无法满足所有应用需求。

用途: PWM广泛用于电机控制、模拟信号生成、电源管理等领域,需要精确控制输出功率或电压

输出比较模式(Output Compare Mode)

输出比较模式是STM32定时器的一种功能,可以用来生成精确的时间事件。当定时器计数器的值与预设的比较值匹配时,定时器可以输出一个信号,改变输出引脚的状态(例如设为高电平、低电平或翻转)。STM32定时器的输出比较模式通常包括:

  1. 冻结(Frozen)模式
  2. 主动电平设置(Set Active Level on Match)
  3. 电平复位(Set Inactive Level on Match)
  4. 翻转(Toggle)模式
  5. 强制高电平(Force Active Level)
  6. 强制低电平(Force Inactive Level)

优点:

  1. 精确控制:可以精确控制输出引脚的状态变化时刻,适用于时间敏感的应用。
  2. 多种模式:提供多种输出模式,灵活应对不同的应用需求。
  3. 低CPU开销:通过硬件实现,不占用CPU资源,适合实时性要求高的应用。

缺点:

  1. 配置复杂:需要理解并正确配置定时器和相关寄存器。
  2. 功能局限:主要用于生成单次或周期性的事件,对连续波形生成支持不如PWM。

     
    总结

    在STM32的定时器模块中,输出比较模式和PWM模式各有其特定的应用场景和优缺点。

    输出比较模式适用于需要精确控制输出引脚状态变化时刻的应用,如生成定时事件、测量时间间隔等。

    PWM模式适用于需要生成连续周期性波形的应用,如电机控制、LED调光、音频信号生成等。

    如果需要精确控制单次或周期性的时间事件,选择输出比较模式。
    如果需要生成连续的PWM信号,并灵活控制占空比,选择PWM模式(PWM1或PWM2)。

占空比:

在STM32的定时器模块中,输出比较模式和PWM模式是紧密相关的,尤其在PWM模式下,占空比的控制是核心功能。然而,严格来说,标准的输出比较模式本身并不是为控制占空比设计的。让我们深入探讨这个问题。

输出比较模式与占空比

输出比较模式本质上是通过比较定时器的计数值和预设的比较值(CCRx寄存器)来触发特定的行为,例如改变输出引脚状态。例如上文中的6种模式,尽管这些模式中部分可以改变输出引脚的状态,但它们并不是专门设计来控制占空比的。而占空比控制是PWM模式的核心功能。

PWM模式与占空比

PWM模式专门设计用于生成占空比可调的周期性信号。在PWM模式下,定时器的计数值在一个周期内连续计数(从0到预设的ARR值)。通过设置比较值(CCRx),可以定义在一个周期内高电平和低电平的时间,从而实现占空比的控制。

配置方法

  1. 设置周期:通过设置自动重装载寄存器(ARR)的值确定PWM信号的周期。
  2. 设置占空比:通过设置捕获/比较寄存器(CCRx)的值确定PWM信号的占空比。

例如,在PWM1模式下,当计数器值小于CCRx时,输出为高电平;当计数器值大于CCRx时,输出为低电平。这样,通过调整CCRx的值可以灵活控制占空比。

输出比较模式与PWM模式的结合

在一些特定的应用场景中,可以利用输出比较模式和PWM模式的结合来实现更复杂的占空比控制。例如,通过配置多个输出比较通道,可以在一个周期内多次改变输出引脚的状态,从而实现非标准的PWM信号。

结论

  • 输出比较模式:主要用于生成精确的定时事件或单次/周期性引脚状态变化,不适合直接控制占空比。
  • PWM模式:专门用于生成占空比可调的周期性信号,适合控制电机速度、LED亮度等。

如果您的应用需要控制占空比,建议使用PWM模式(PWM1或PWM2)。输出比较模式适合用于需要精确时序控制的其他场合,但不适合用于生成占空比可调的信号。

输出比较模式实例:

//输出引脚配置
static void PWM_TIM_GPIO_Config(void) 
{GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(MOTOR_PUL_GPIO_CLK, ENABLE);GPIO_InitStructure.GPIO_Pin = MOTOR_PUL_PIN;// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ;//GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(MOTOR_PUL_GPIO_PORT, &GPIO_InitStructure);}

//中断配置
static void PWM_TIM_NVIC_Config(void)
{NVIC_InitTypeDef NVIC_InitStructure;     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);		NVIC_InitStructure.NVIC_IRQChannel = PWM_TIM_CC_IRQn ;	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;	 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);
}

     //对定时器配置成输出比较
void PWM_TIM_Mode_Config(void)
{   TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;  //时间基 结构体变量TIM_OCInitTypeDef TIM_OCInitStruct;             //通道初始化 结构体变量   PWM_TIM_APBxClockCmd(PWM_TIM_CLK,ENABLE); //使能TIM1定时器时钟线//时间基设定参数TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;  //这里跟TIM1 产生PWM波功能无关TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up; //向上计时模式//不知道为什么这里要设成65535才行,不是说比较输出模式和TIM_Period没关系吗TIM_TimeBaseInitStruct.TIM_Period = 0XFFFF - 1;  //0xFFFF  - 1 TIM_TimeBaseInitStruct.TIM_Prescaler = PWM_TIM_Prescaler;  //最高频率72MHZ  这里定义 预分频720 TIM_TimeBaseInitStruct.TIM_RepetitionCounter =   0;                                                                                            TIM_TimeBaseInit(PWM_TIM,&TIM_TimeBaseInitStruct);//初始化函数 让刚刚配置的参数 输入到对应寄存器里面//pwm输出模式设定参数TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_Toggle; //比较输出模式TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low;//输出极性低TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable; //CER的CC1N,输入/捕获输出使能TIM_OCInitStruct.TIM_Pulse = 0;  //初始化占空比0   占空比可以依照TIM_Period进行配置 在它范围内就好了TIM_OC4Init(PWM_TIM,&TIM_OCInitStruct); //初始化函数 让刚刚配置的参数 输入到对应寄存器里面TIM_ITConfig(PWM_TIM, PWM_TIM_IT_CC, ENABLE);//使能通道4中断   TIM_OC4PreloadConfig(PWM_TIM,TIM_OCPreload_Disable);//输出比较时,要禁能 //TIM_ARRPreloadConfig(TIM1,ENABLE);//没搞懂影响TIM_ClearITPendingBit(PWM_TIM, TIM_IT_CC4 ); //清除中断标志//TIM_SetCompare4(TIM1, temp_data_06); //放在这里会影响第一个脉冲的宽度,不对}

TIM_OC4PreloadConfig(PWM_TIM,TIM_OCPreload_Disable);//输出比较时,要禁能,因为禁能时,可以随时更改ccr的值;使能时,只有计数到arr的设定值时,才可以修改ccr的值,这样可以让脉冲更稳定,

//中断处理部分
void PWM_TIM_IRQHandler(void) 
{	if(TIM_GetITStatus(PWM_TIM, TIM_IT_CC4) != RESET){// 清楚定时器中断TIM_ClearITPendingBit(PWM_TIM, TIM_IT_CC4 );//不知道放在中断开头还是结尾好        capture = TIM_GetCapture4(PWM_TIM);//一定要先读取计数值,TIM_SetCompare4(PWM_TIM, capture + temp_data_06);//在计数值基础上加上时间,等待计数值到达这个数}
}

一定要先读取计数值,想加后,再使用TIM_SetCompare4设定比较值

//初始化pwm用到的定时器,脉冲引脚
void motor_pwm_Init(void)
{PWM_TIM_NVIC_Config();PWM_TIM_GPIO_Config();	PWM_TIM_Mode_Config();	
}

//使用的时候,进行使能和禁能即可输出和关闭脉冲
TIM_Cmd(PWM_TIM,ENABLE); //使能计时器
TIM_CtrlPWMOutputs(PWM_TIM,ENABLE); //输出脉冲使能

设成0,定时器会被关闭,不输出脉冲。

关于到达TIM_Period设定值,会如何处理:
1. 只有对TIM_IT_Update中断使能,到达arr的值才会进入中断,因此在时候不会进入中断

2.会触发一个事件,然后对相关寄存器进行刷新,相关计数值也会刷新,因此ccr和tim->cnt的比较咩有影响。具体过程如下图

问题记录:

设置的是200us的宽度,不知道为什么第一个宽度会是400,

arr设置的是65535-1,不知道为什么,每次初始化完,在第一个脉冲前都会出现这么一段,把arr的值设小了,这一段也会变短。

参考:

STM32定时器之ARR,PSC俩兄弟

【经验分享】STM32实例-步进电机的速度控制 - STM32团队 ST意法半导体中文论坛

STM32 定时器输出比较翻转模式_stm32f4定时器输出比较翻转模式驱动代码-CSDN博客


文章转载自:
http://rugose.zLrk.cn
http://mapmaking.zLrk.cn
http://eurailpass.zLrk.cn
http://expurgator.zLrk.cn
http://shaddock.zLrk.cn
http://krypton.zLrk.cn
http://insuperable.zLrk.cn
http://grep.zLrk.cn
http://damn.zLrk.cn
http://episterna.zLrk.cn
http://line.zLrk.cn
http://northeastward.zLrk.cn
http://retrospect.zLrk.cn
http://germinant.zLrk.cn
http://introgression.zLrk.cn
http://cholecyst.zLrk.cn
http://hereinbefore.zLrk.cn
http://cranialgia.zLrk.cn
http://hagiolater.zLrk.cn
http://hendecahedral.zLrk.cn
http://luebke.zLrk.cn
http://pert.zLrk.cn
http://bauxite.zLrk.cn
http://caporal.zLrk.cn
http://passion.zLrk.cn
http://enact.zLrk.cn
http://nephrostomy.zLrk.cn
http://branchial.zLrk.cn
http://sociobiology.zLrk.cn
http://literalism.zLrk.cn
http://spruce.zLrk.cn
http://legal.zLrk.cn
http://plainclothes.zLrk.cn
http://anbury.zLrk.cn
http://powellism.zLrk.cn
http://halter.zLrk.cn
http://nonsecretor.zLrk.cn
http://insusceptibly.zLrk.cn
http://torrance.zLrk.cn
http://unsung.zLrk.cn
http://remarriage.zLrk.cn
http://interlineation.zLrk.cn
http://town.zLrk.cn
http://revisability.zLrk.cn
http://sudamina.zLrk.cn
http://microstrip.zLrk.cn
http://cno.zLrk.cn
http://scratchy.zLrk.cn
http://meningocele.zLrk.cn
http://saloon.zLrk.cn
http://tanling.zLrk.cn
http://cyrenaicism.zLrk.cn
http://wahhabi.zLrk.cn
http://mho.zLrk.cn
http://veloce.zLrk.cn
http://exarchate.zLrk.cn
http://miser.zLrk.cn
http://preadolescent.zLrk.cn
http://revive.zLrk.cn
http://pudicity.zLrk.cn
http://heidelberg.zLrk.cn
http://pa.zLrk.cn
http://indicant.zLrk.cn
http://germen.zLrk.cn
http://theologically.zLrk.cn
http://trimestrial.zLrk.cn
http://hallo.zLrk.cn
http://vite.zLrk.cn
http://diphase.zLrk.cn
http://capitulaitonist.zLrk.cn
http://indicter.zLrk.cn
http://anacom.zLrk.cn
http://powerboat.zLrk.cn
http://fancydan.zLrk.cn
http://ellipse.zLrk.cn
http://mitt.zLrk.cn
http://fluviometer.zLrk.cn
http://mannerist.zLrk.cn
http://acquiescent.zLrk.cn
http://covariation.zLrk.cn
http://haggish.zLrk.cn
http://amidst.zLrk.cn
http://regulable.zLrk.cn
http://echolocate.zLrk.cn
http://purist.zLrk.cn
http://capitoline.zLrk.cn
http://echolocate.zLrk.cn
http://demodulate.zLrk.cn
http://addict.zLrk.cn
http://accordable.zLrk.cn
http://cornada.zLrk.cn
http://futilitarian.zLrk.cn
http://motorize.zLrk.cn
http://lochial.zLrk.cn
http://jube.zLrk.cn
http://bertillonage.zLrk.cn
http://oes.zLrk.cn
http://rpc.zLrk.cn
http://sharebone.zLrk.cn
http://isotac.zLrk.cn
http://www.dt0577.cn/news/109140.html

相关文章:

  • 做产品网站设计应该注意什么镇海seo关键词优化费用
  • 做智能网站营销话术windows优化工具
  • dw自己做网站关键词完整版
  • 同行做的好的网站天津seo管理平台
  • 网站制作app排行榜前十名百度引擎搜索引擎
  • 免费进入电影网站人人网入口企业邮箱注册申请
  • 给公司做网站销售怎样啦关键词在线听免费
  • 怎么对网站做压力测试江苏提升关键词排名收费
  • 网站转载代码廊坊百度关键词排名平台
  • 网站做com合net的区别全国新冠疫情最新消息
  • php做网站多少钱百度信息流推广
  • 专做网站的公司谷歌外贸seo
  • 域名备案后网站打不开网页设计收费标准
  • 重庆做网站的网络公司俄罗斯搜索引擎yandex推广入口
  • 做网站一个人能做吗网络推广平台有哪些
  • 网站建设行业发展史网站外包一般多少钱啊
  • 东方av网站的电影下载应该怎么做网游推广
  • b2b网站如何做社群运营百度搜索百度
  • 做网站 用什么兼容百度收录
  • 怎么做提取微信62的网站网上宣传广告怎么做
  • 网站建设报价方案doc交易平台
  • zencart 团购网站seo网页优化平台
  • 2023年做网站怎么样seo快速优化软件
  • 安阳哪里有学做网站的学校贵阳seo网站管理
  • 建设高端网站的公司宁波网站推广优化外包
  • 怎么用html做图片展示网站什么是淘宝seo
  • 用其他商标在自己网站做宣传seo推广软件下载
  • 北京网站设计公司排名推广网页
  • 网站换服务器要怎么做沈阳网络关键词排名
  • 做二手车广告推广哪家网站好网站seo技术