stm32 高级定时器-pwm简单使用

stm32 高级定时器-pwm简单使用

ID:6078481

大小:307.43 KB

页数:7页

时间:2018-01-02

stm32 高级定时器-pwm简单使用_第1页
stm32 高级定时器-pwm简单使用_第2页
stm32 高级定时器-pwm简单使用_第3页
stm32 高级定时器-pwm简单使用_第4页
stm32 高级定时器-pwm简单使用_第5页
资源描述:

《stm32 高级定时器-pwm简单使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、STM32高级定时器-PWM简单使用(转)2010-07-1016:19高级定时器与通用定时器比较类似,下面是一个TIM1的PWM程序,TIM1是STM32唯一的高级定时器。共有4个通道有死区有互补。先是配置IO脚:      GPIO_InitTypeDefGPIO_InitStructure;      /*PA8设置为功能脚(PWM)*/      GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;      GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;      GPIO_InitSt

2、ructure.GPIO_Speed=GPIO_Speed_50MHz;            GPIO_Init(GPIOA,&GPIO_InitStructure);      /*PB13设置为PWM的反极性输出*/      GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;      GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;      GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;            GPIO_Init(GPI

3、OB,&GPIO_InitStructure);/*开时钟PWM的与GPIO的*/      RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);/*配置TIM1*/      TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;      TIM_O

4、CInitTypeDefTIM_OCInitStructure;voidTim1_Configuration(void){   TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;   TIM_OCInitTypeDefTIM_OCInitStructure;    TIM_DeInit(TIM1);//重设为缺省值/*TIM1时钟配置*/TIM_TimeBaseStructure.TIM_Prescaler=4000;      //预分频(时钟分频)72M/4000=18KTIM_TimeBaseStructure.TIM_

5、CounterMode=TIM_CounterMode_Up;  //向上计数TIM_TimeBaseStructure.TIM_Period=144;      //装载值18k/144=125hz就是说向上加的144便满了TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;   //设置了时钟分割不懂得不管TIM_TimeBaseStructure.TIM_RepetitionCounter=0x0;    //周期计数器值不懂得不管TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStr

6、ucture);   //初始化TIMx的时间基数单位/*Channel1ConfigurationinPWMmode通道一的PWM*/TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;    //PWM模式2TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//正向通道有效PA8TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;//反向通道也有效PB13TIM_OCInitStruc

7、ture.TIM_Pulse=40;       //占空时间144中有40的时间为高,互补的输出正好相反TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;//输出极性TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;   //互补端的极性TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset;//空闲状态下的非工作状态不管TIM_OCInitStructure.TIM_OCNIdle

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。