本例程同样是设置PB0、PB1为TIM1_CH2N、TIM1_CH2,控制两个LED交替闪动。与上个例程最大的区别就是使用TIM_ForcedOC1Config函数设置pwm的输出使能。当设置PWM输出为0%占空比时,禁止PWM输出,当设置PWM输出为100%占空比时,使能PWM输出。

通过TIM_SetCompare2可以直接修改占空比。

1 PWM占空比设置函数

void SetTim1PWMduty0(void)

{

TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_Active);

}

void SetTim1PWMduty100(void)

{

TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);

}

unsigned int formode = 0;

void SetTim1PWMduty(uint32_t duty)

{

u32 PMWpluse = 0;

// duty = 600;

if((duty > 0) && (duty < 1000)) {

if(formode == 1) {

formode = 0;

TIM_ForcedOC1Config(TIM1, TIM_OCMode_PWM1);

}

//PMWpluse = (3000 * duty)/1000;

PMWpluse = (30000 * duty) / 1000;

TIM_SetCompare2(TIM1, PMWpluse);

} else if(duty == 0) {

if(formode == 0) {

formode = 1;

}

SetTim1PWMduty0();

} else {

if(formode == 0) {

formode = 1;

}

SetTim1PWMduty100();

}

}

2 main函数流程

int main(void)

{

uint32_t duty = 0;

SystemInit();

initGPIO_Timer1();

initTIM1(479, 29999, 10000); //config TIM to PWM output

initNVIC_TIM1();

OnTIM1(); //enable TIM;

while(1) {

duty = 500;

SetTim1PWMduty(duty);

}

}

官方例程的修正已基本完成,需要程序的同学可以到百度网盘下载。

提取码:0o5i

pwm占空比的c语言编程详解,灵动微MM32F003硬件最小系统 --- PWM占空比从0%到100%例程解析【18】...相关推荐

  1. pwm占空比的c语言编程详解,盘点占空比、PWM、GPIO三者含义及原理分析

    (1)占空比(Duty Cycle)有如下含义: 在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值.例如:脉冲宽度1μs,信号周期4μs的脉冲序列,占空比为0.25. 即在一段连续 ...

  2. c语言编程的电压表设计,数字电压表的单片机设计(C语言编程)详解.doc

    目录 一 设计总体方案1 1.1 设计要求1 1.2 设计思路1 1.3 设计方案1 二 硬件电路元件分析与设计2 2.1 单片机系统2 2.1.1 AT89C51性能2 2.1.2 AT89C51各 ...

  3. ADSP-21489的图形化编程详解(1:硬件的准备和软件环境的搭建)

    编者的话 这个专题里,我要详细讲解如何使用第二种开发方式:图形化编程来开发 21489. 相信大家在第一种开发方式中,都会遇到同样的问题,音频效果怎么做?我并没有均衡.混音.混响.分频.移频.延时.回 ...

  4. python语言编程基础-Python语言入门详解!快速学成Python!

    原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...

  5. 51汇编与c语言混合编程,C51与汇编混合编程详解

    C51与汇编混合编程详解 0750long | 2009-07-09 12:45:42    阅读:1257 发布文章 C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 ...

  6. python语言入门m-Python语言入门详解!快速学成Python!

    今日主题 "Python语言入门详解" 近两年来,Python语言借着数据科学和人工智能的"东风"成为了最流行的编程语言--街头巷尾人们口口相传.同时,Pyth ...

  7. 代码检查规则:Java语言案例详解

    本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...

  8. PHP SOCKET编程详解

    这篇文章主要介绍了PHP SOCKET编程详解,需要的朋友可以参考下 1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实 ...

  9. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

    [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...

  10. [进阶] --- Python3 异步编程详解(史上最全篇)

    [进阶] - Python3 异步编程详解:https://blog.csdn.net/lu8000/article/details/45025987 参考:http://aosabook.org/e ...

最新文章

  1. [AWK]使用AWK进行分割字符串以及截取字符串
  2. npm无法安装node-sass的解决方法
  3. 京东二面:MySQL 主从延迟、读写分离 7 种解决方案!
  4. oracle存储过程中数组的使用
  5. js html utf8编码转换,js中的UTF-8编码与解码
  6. elementui可编辑单元格_ElementUI table组件实现点击单元格可编辑
  7. [洛谷P2257] YY的GCD (莫比乌斯反演)
  8. 如何战胜软件开发的复杂性?
  9. 如何在vs2010中使用SSE指令集
  10. 大学生创新创业计划-2019
  11. 博世BMI160驱动程序 C语言编程,如何使用PSoC 6制作完整的测试系统来与BMI160进行通话...
  12. CCF论文会议 IEEE 如何查询某个会议期刊的所有文章
  13. 本体论:Gene Ontology (基因本体)
  14. 核磁共振谱仪定义、发展及基本原理
  15. 用python写一个躲避球十分简单的小游戏
  16. 水利水电工程有学计算机吗,为什么说千万别学水利水电工程 原因有哪些
  17. 事实表与维度表的区别与关系
  18. 什么是形式参数,什么是实际参数,它们的区别和各自的定义是什么
  19. 2018 ChinaJoy 跟着万代南梦宫的IP一起“畅玩一夏”
  20. Python-Django毕业设计航空订票系统(程序+Lw)

热门文章

  1. 人间不值得。在既定的规则面前,除了遵守,还能有什么?
  2. STM32外接DHT11显示温湿度
  3. iOS远程推送--APNs详解
  4. php 7.4 编译安装
  5. 计算机中常用单位是什么意思,常用单位的换算(含温度、长度、计算机单位、面积以及数量级含义).doc...
  6. 01. Introdunction to Zero Knowlege -- Alon Rosen[零知识介绍]
  7. SpringCloud:Gateway网关配置及使用
  8. mysql现象_Mysql编程中的怪现象
  9. 失恋33天——我用57天考了一个5A
  10. 无法定位序号344于动态链接库_无法定位序号 3873 于动态链接库存LIBEAY32.dll上