1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9244|回復: 1
收起左側

關于STM32中pwm輸出的占空比的一些問題

[復制鏈接]
ID:351055 發表于 2018-6-15 20:19 | 顯示全部樓層 |閱讀模式
本人正在做stm32的課程設計,其中用到輸出pwm波的相關知識,但關于CCR寄存器的值對PWM波形的影響有一些不明白的地方,以下先上tim1的初始化代碼
TIM_TimeBaseStructure.TIM_Period = 7199;
  TIM_TimeBaseStructure.TIM_Prescaler = 0
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x00;
        TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);

        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;               
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;     
  TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
  TIM_OCInitStructure.TIM_Pulse = DIY_Pulse;                           
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
        TIM_OC1Init(TIM1, &TIM_OCInitStructure);


     其中DIY_Pulse的初始值為3599(即初始占空比為1/2).然后我在主函數中還設置了一個中斷服務子程序(主要代碼如下):

if(EXTI_GetITStatus(EXTI_Line6)!=RESET)
  {DIY_Pulse=DIY_Pulse-200;
                TIM1->CCR1=DIY_Pulse;
  EXTI_ClearITPendingBit(EXTI_Line6);}


可以看到中斷發生時會將DIY_Pulse的值減200并更新到CCR中,根據書上的解釋,當cnt的值計數到與ccr相同時電平會發生跳變,這里ccr的值減小,占空比應該是減小的,但實際上卻是增大,不明所以,想問下大神們這是為什么。
另外就是,關于這句代碼:TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low  書上說這里設置為high就可以實現互補輸出,但我卻要設成low仿真時才能實現互補,也是不明所以。
附上仿真的波形。

初始狀態

初始狀態

發生中斷后

發生中斷后
回復

使用道具 舉報

ID:368940 發表于 2018-7-11 10:45 | 顯示全部樓層
ARR:自動預載寄存器,即定時器的計數周期。
            PWM的分母部分
        
CCR:寄存器,我們可以直接賦值,PWM的分
            子部分

CNT:能自動計數,記錄當前的計數值

PWM模式1- 在向上計數時,一旦CNT<CCR1
時通道1為有效電平,否則為無效電平;
在向下計數時,一旦CNT>CCR1時通道1為無效
電平(OC1REF=0),否則為有效電平
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表