背景:由于项目需要,需要stm32输出任意相角度的PWM

前提知识:

1、stm32定时器的Tim,一般有多个OC。具体差别根据型号来定。

2、定时器的使能,理论上是多个通道同时使能

3、TIM_OCInitStructure.TIM_OCMode 的其中一个参数是 TIM_OCMode_Toggle。它的意思是计数达到比较值的时候,输出电平翻转

4、由第3点可知,移相占空比固定在了50%

5、定时器的计数方式只能为上升计数或者下降计数

6、下图为原理图

(其实,只用设计每个OC的翻转点,就能转化为相应的移相角)

关键代码:

配置通道输出方式:

配置ARR的值为2000,即一个周期计数值为2000:

配置通道1翻转点:

配置通道2翻转点:

配置通道3翻转点:

最新文章

  1. Unity3D "Library\UnityAssemblies\UnityEngine.xml" is denied错误解决方法
  2. Android 与 IIS服务器身份验证
  3. http://jingyan.baidu.com/article/08b6a591f0fafc14a9092275.html
  4. Magical Forest
  5. Gnome下Gvim菜单无法显示的解决办法
  6. 直接拿来用,最火的.NET开源项目(beta)
  7. JQuery(上)
  8. Swift新手教程3-字符串String
  9. Ubuntu 12.04 中文输入法
  10. linux之date命令详解
  11. [Python]再学 socket 之非阻塞 Server
  12. AppDomain 及BuildManager
  13. HTTP 0.9 / 1.0 / 1.1
  14. Arrays和Collections 对于sort的不同实现原理
  15. 开发中常用的es6知识
  16. Proper usage of Java -D command-line parameters
  17. Codeforces Round #459 Div. 1
  18. Xamarin.Android 无法检索到 Resource 问题
  19. springboot 读取 resource文件
  20. String和datetime在SQL中和在C#中相互转换方法总结

热门文章

  1. php判断浏览器还是微信打开
  2. BZOJ4503 两个串 多项式 FFT
  3. EHDU-1039 asier Done Than Said?
  4. 此处为当前页,设置此处的href点后没有效果
  5. JavaScript之扑朔迷离的this
  6. vue实现数据双向绑定的原理
  7. redis日志格式
  8. js 快速将字符串数组 转化为 数字数组(互换)
  9. DataTable数据存储问题
  10. python获取文件所在目录