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

网站制作需要学习什么西安百度推广开户多少钱

网站制作需要学习什么,西安百度推广开户多少钱,丹东振兴区疫情最新情况,浏览器推广哪个平台好目录 STM32 PWM工作过程​编辑 STM32 PWM工作过程(通道1为例) PWM模式1 & PWM模式2 向上计数配置说明​编辑 STM32 定时器3输出通道引脚 自动重载的预装载寄存器 ​编辑 PWM输出相关库函数 输出比较初始化函数: 设置比较值函数&a…

目录

STM32 PWM工作过程​编辑

 STM32 PWM工作过程(通道1为例)

PWM模式1 & PWM模式2

 向上计数配置说明​编辑

STM32 定时器3输出通道引脚

自动重载的预装载寄存器

​编辑

PWM输出相关库函数

输出比较初始化函数:

设置比较值函数:

使能输出比较预装载:

使能自动重装载的预装载寄存器允许位:


STM32 PWM工作过程

 

 STM32 PWM工作过程(通道1为例)

  • CCR1:捕获比较()寄存器(x=1,2,3,4):设置比较值。
  • CCMR1: OC1M[2:0]位:

                对于PWM方式下,用于设置PWM模式1【110】或者PWM模式2【111】

  • CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。
  • CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开。

PWM模式1 & PWM模式2

寄存器TIMx_CCMR1OC1M[2:0]位来分析:

 向上计数配置说明

        这里的OCXREF是比较的结果,在PWM模式一下,向上计数,当计数值CNT<比较值CCR时,输出有效值。

        这里的CCxIF是终端触发标志位。

STM32 定时器3输出通道引脚

自动重载的预装载寄存器

void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);

         简单的说:

        ARPE=1,ARR立即生效。原来本来是向上计数到36,然后溢出,再回到0。

如果计数中间修改了ARR的值,比如修改到了F5,那么再计数到F5时会立即溢出。

        APRE=0,ARR下个比较周期生效。原来本来是向上计数到36,然后溢出,再回到0。

如果计数中间修改了ARR的值,比如修改到了FF,那么再计数到FF时不会溢出,他要到下个比较的周期,再到FF才会溢出。

PWM输出相关库函数

输出比较初始化函数:

void TIM_OCxInit(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
typedef struct
{uint16_t TIM_OCMode;  //PWM模式1或者模式2uint16_t TIM_OutputState; //输出使能 OR失能uint16_t TIM_OutputNState;uint16_t TIM_Pulse; //比较值,写CCRxuint16_t TIM_OCPolarity; //比较输出极性uint16_t TIM_OCNPolarity; uint16_t TIM_OCIdleState;  uint16_t TIM_OCNIdleState; 
} TIM_OCInitTypeDef;

实例:

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //PWM模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructure. TIM_Pulse=100;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
TIM_OC2Init(TIM3, &TIM_OCInitStructure);  //根据T指定的参数初始化外设TIM3 OC2

设置比较值函数:

void TIM_SetCompareX(TIM_TypeDef* TIMx, uint16_t Compare2);

使能输出比较预装载:

void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);

使能自动重装载的预装载寄存器允许位:

void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);

总结 ---PWM输出配置步骤:

① 使能定时器3和相关IO口时钟。

        使能定时器3时钟:RCC_APB1PeriphClockCmd();

        使能GPIOB时钟:RCC_APB2PeriphClockCmd();

② 初始化IO口为复用功能输出。函数:GPIO_Init();

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;      

③ 这里我们是要把PB5用作定时器的PWM输出引脚,所以要重映射配置,

        所以需要开启AFIO时钟。同时设置重映射。

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);

④ 初始化定时器:ARR,PSC等:TIM_TimeBaseInit();

⑤ 初始化输出比较参数:TIM_OC2Init();

⑥ 使能预装载寄存器: TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);

⑦   使能定时器。TIM_Cmd();

⑧   不断改变比较值CCRx,达到不同的占空比效果:TIM_SetCompare2();

http://www.hengruixuexiao.com/news/55681.html

相关文章:

  • wordpress怎么使用插件搜索引擎优化方案
  • 旅游网站开发系统关键词搜索引擎
  • 网上做实验的网站金华网站建设
  • 视频上传网站建设线上卖货平台有哪些
  • 网站行业新闻怎么做seo建站营销
  • 建设工程有限公司 网站网络舆情优化公司
  • 怎么弄免费的php空间做网站seo排名工具
  • 陕西电商b2c网站建设公司石嘴山网站seo
  • 短链接在线生成官网免费南宁seo手段
  • 做感恩网站的图片素材竞价排名的服务模式是
  • 定制网站 北京免费行情软件网站下载
  • 建设银行兰州分行网站百度竞价在哪里开户
  • 织梦做的网站如何上线青山seo排名公司
  • 重庆发布微信公众号seo企业推广案例
  • 哈尔滨网站设计公司灯塔网站seo
  • 做平面资源比较好的网站青岛网站建设制作推广
  • 免费psd素材网站小程序推广
  • 手机网站开发技巧防恶意点击软件
  • wordpress网站专题网站建设服务
  • 做网站的过程中有哪些问题怎么做电商新手入门
  • 做网站用什么软件编辑网络营销中心
  • 手机版网站嵌入代码研究生培训机构排名
  • 政府网站建设网页设计规范搜索自媒体平台
  • 服务器怎么做看视频的网站优化防疫政策
  • 邯郸网站设计费用今日国内重大新闻
  • 怎么样才能自己建网站电子商务营销策略
  • 北京十大影视后期公司优化网站建设
  • 国美电器网站建设的思路曹操seo博客
  • 国家资源库建设网站宁波seo网络推广咨询价格
  • 做网站的画布是多少免费开网店免费供货