STM8S PWM输出停止后 IO口电平输出
2016-06-15 14:08
330 查看
STM8S有许多定时器支持PWM输出,但在停止定时器后,IO口电平到底是多少呢?或高或低。
因此,为了确定PWM停止输出电平后其对应的值是多少,我们在停止PWM输出时需要对CCMR1寄存器进行设置。
例如,
即可。
恢复时候需要重新将定时器初始化
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_16,uFreq);
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
若直接调用
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
是不会产生PWM输出的。
因此,为了确定PWM停止输出电平后其对应的值是多少,我们在停止PWM输出时需要对CCMR1寄存器进行设置。
例如,
TIM2_Cmd(DISABLE); /*停止PWM后将电平拉为低电平*/ TIM2_ForcedOC1Config(TIM2_FORCEDACTION_INACTIVE); GPIO_WriteLow(GPIOC, GPIO_PIN_5);
即可。
恢复时候需要重新将定时器初始化
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_16,uFreq);
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
若直接调用
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
是不会产生PWM输出的。
相关文章推荐
- pods 遇到的问题
- Eclipse导入的项目中的中文都是乱码,如何解决?
- JUnit 测试
- 批处理获取当前时间脚本
- js不断向上滚动代码,滚动一边就停止如何解决,如何让标题循环滚动
- idm 再进军
- 动态发布maven项目到tomcat
- eclipse使用git
- java 防止sql注入的方法(非原创)
- 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用
- iOS 打包 上架流程
- Gridview各种易忘点总结
- japans的搭建(使用p12)
- JSON和JSONP
- 5-17 爬动的蠕虫 (15分)
- 使用PullToRefresh时停止刷新方法失灵
- mybatis中insert操作获取id的操作
- 双缓冲(Double Buffer)原理和使用【转】
- 设计模式-1-概要(c#版)
- STM8 输出比较极性