STM32 PWM输出总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset; //死区后输出状态
TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset;//死区后互补端输出状

TIM_OC1Init(TIM1,&TIM_OCInitStructure);

TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);
¥128.00
关闭 关闭
//第六步,使能端的打开
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); //使能TIMx在CCR1上的预装载寄存器
TIM_ARRPreloadConfig(TIM1, ENABLE);
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;//重复寄存器,用于自动更新pwm占空

TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
//第四步pwm输出配置
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
GPIO_InitStructure2.GPIO_Mode=GPIO_Mode_AF_PP;
//设置为复用浮空输出
GPIO_Init(GPIOB,&GPIO_InitStructure2);
//第三步,定时器基本配置
TIM_TimeBaseStructure.TIM_Period=1000-1;
// 自动重装载寄存器的值
//下面几个参数是高级定时器才会用到,通用定时器不用配置
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_High; //设置互补端输出极性
TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;//使能互补端输出
最新文章
冯.诺曼结构与哈佛结构的区别<... 《止学》(原文及译文) s tm 32之DMA彻底研究 野火STM32 ADC(DMA模式)实验 ... 《止学》是什么 《解读阴阳》之九:人体阴阳气...
更多
1 2
3
4 5 6 7 8
热门文章
寿联大全集锦 惊呆!天下间居然有这样漂亮的... 头脑风暴:让你尖叫的特殊思维... 一张图可以明白你确实不知道手... 鼻炎特效药(短期即愈) 【图文】无奈的环首都贫困带 我是煲汤女王?六十道煲汤做法 一张图教你简单有效晨练方法 梁文道:被误读的台湾 电脑机箱前置音频、USB、开关、... 苏芩语录:上天准备郑重地交给...
首页
阅览室
馆友
我的图书馆
搜文章 找馆友
登录 注册Biblioteka Baidu
STM32 PWM输出总结
收藏人:黄致明 2013-09-23 | 阅:528 转:3 | 来源
| 分享
下面是定时器1的配置代码:
GPIO_InitTypeDef GPIO_InitStructure2;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Prescaler=72-1;
// 时钟预分频数
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; // 采样分频
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数
//使能TIMx在ARR上的预装载寄存器
TIM_Cmd(TIM1,ENABLE);
//打开TIM2
//下面这句是高级定时器才有的,输出pwm必须打开
TIM_CtrlPWMOutputs(TIM1, ENABLE);
//pwm输出使能,一定要记得打

TIM_OC1PreloadConfig(),TIM_ARRPreloadConfig();这两个函数控制的是ccr1和arr的预装在使 能,使能和失能的区别就是:使能的时候这两个局存期的读写需要等待有更新事件发生时才能 被改变(比如计数溢出就是更新时间)。失能的时候可以直接进行读写而没有延迟。 另外在运行当中想要改变pwm的频率和占空比调用:TIM_SetAutoreload()
热门推广
猜你喜欢
外媒可以无良,我们 古代十大名曲背后的 胡荣华中国象棋攻防 这些飞机难得一见,真 一卷诗书入画,几多闲
不能无脑
掌故
教程
漂亮!
情山水
销量:125件 ¥ 36.00
销量:173件 ¥ 6.88
销量:54件 ¥ 398.00
发表评论:
您好,请 登录 或者 注册 后再进行评论
其它帐号登录:
//刹车功能使能
TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;//刹车输入极性
TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;//自动输出使
//设置为pwm1输出
模式
TIM_OCInitStructure.TIM_Pulse=500;
//设置占空比时间
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
//设置输出极性
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; //使能该通道输出
TIM_SetCompare1()这两个函数就可以了。
来自:黄致明 > 《嵌入式ARM STM3》 上一篇:[转载]关于TIM 下一篇:【ALIENTEK 战舰STM32开发板例程系列连载+教学】第十三章 定时器中断实验
献花(0)
分享:
类似文章
更多
STM32 高级定时器-PWM简单使用 【青风带你学stm32f051系列教程】第8课 ... STM32开发板上音频播放程序的设计之二 -... STM32 TIM定时器输出比较 STM32通用定时器TIM2-5 PWM输出 STM32 输入捕获 九九的STM32笔记(一)TIM模块定时器向… STM32通用定时器(TIM2-5)基本用法
醉枕香江
更多>>
¥79.00
TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF; //
TIM_BDTRInitStructure.TIM_DeadTime = 0x90;
//死区时间设置
TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
//第一步:配置时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|
RCC_APB2Periph_GPIOB|RCC_APB2Periph_TIM1,ENABLE);
//第二步,配置goio口
/********TIM1_CH1 引脚配置*********/
GPIO_InitStructure2.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure2.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure2.GPIO_Mode=GPIO_Mode_AF_PP;
//设置为复用浮空输出
GPIO_Init(GPIOA,&GPIO_InitStructure2);
/*********TIM1_CH1N 引脚配置********/
GPIO_InitStructure2.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStructure2.GPIO_Speed=GPIO_Speed_50MHz;
//按照指定参数初始化
//第五步,死区和刹车功能配置,高级定时器才有的,通用定时器不用配置 TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Disable;//运行模式下输出选择 TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Disable;//空闲模式下输出选择 TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF; //锁定设置
相关文档
最新文档