完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题1:
请问倒数这三排寄存器值跟设置占空比有什么一一对应关系?100表示占空比100%?那为什么可以大于100? 问题2:发现只有在调试—>复位—>继续之后程序才会跑起来,如果断开u***连接,再连上,程序没有运行 |
|
相关推荐
5个回答
|
|
你的PWM模式是MTU3的互补PWM 模式3吧?
里面的100是计数值,不是百分比,分析如下。 1>MTU3的互补PWM模式3设定 2>手册关于互补PWM模式3的寄存器,以及初始值说明。 注意到MTU3.TGRB 与 MTU.TRGD是一样的值。 3>对应的代码生成器代码如下, 这里因为MTU3的时钟源伟PCLK = 40MHz,计数值见下面的注释。 void R_MTU3_Create(void) { ... MTU3.TGRB = _018F_3TGRB_VALUE; // 400 -1 MTU3.TGRD = _018F_3TGRB_VALUE; MTU4.TGRA = _031F_4TGRA_VALUE; // 800 -1 MTU4.TGRC = _031F_4TGRA_VALUE; MTU4.TGRB = _04AF_4TGRB_VALUE; // 1200 - 1 MTU4.TGRD = _04AF_4TGRB_VALUE; MTU3.TGRA = _081F_SUM_VALUE; // 2080-1 ; PWM周期/2 + 死区时间 = 100us/2 + 2us = 52us, 52us*40MHz = 2080 MTU3.TGRC = _081F_SUM_VALUE; MTU.TDERA.BYTE = _01_MTU_TDER_ENABLE; MTU.TDDRA = _0050_TDDR_VALUE; // 死区时间设定2us 2*40 = 80 MTU.TCDRA = _07CF_TCDR_VALUE; // 2000-1 ; PWM周期/2 = 100us/2, 50us*40MHz=2000 MTU.TCBRA = _07CF_TCDR_VALUE; ... } 4>PWM的波形见手册的图20.47。 注意到MTU3.TRGA是计数上限值, MTU3.TCNT计数到 MTU4.TRGA就会翻转 PWM-的输出 MTU4.TCNT计数到 (MTU4.TRGC+死区时间) 就会翻转 PWM+的输出 不同的MTU4.TRGA这样就有了不同的占空比波形。
最佳答案
|
|
|
|
[deleted]
|
|
|
|
1. 用mtu生成pwm有两种模式 要看你采用的什么模式 2. 连接调试板是为了下载和调试,断电后再次上电当然不会执行程序,要给板子单独供电就会执行程序。入门手册里有说 |
|
|
|
wei296 发表于 2018-7-23 00:49 给开发板子单独供电的话,仿真版可以不掰下来? |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2682 浏览 0 评论
2679 浏览 1 评论
1914 浏览 1 评论
2068 浏览 2 评论
2636 浏览 2 评论
771浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 09:56 , Processed in 0.556905 second(s), Total 57, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号