完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
挑灯望却 发表于 2017-7-28 16:47 这句话是说初始值是1即给高电位,当计数器计数达到比较值时降为低电平
最佳答案
|
|
|
|
比如代码是这样的
假设你设置的是以TGRA作为一个周期,TGRB设置为initial output of MTIOC0C pin is 1. toggle output at compare match.1 at output counter clear,那么你改变TGRB的值就可以改变占空比了,比如这里MTU0.TGRA = 9C40,十进制为40000,你改变MTU0.TGRB的值,将80E8(十进制为33000)改为2710(十进制为10000),进行,原理是这样,你可以设个变量等于MTU0.TGRB,当情况改变时按规律(公式)改变他的数值 |
|
|
|
晨彦 发表于 2017-7-27 23:16 initial output of MTIOC0C pin is 1. toggle output at compare match.1 at output counter clear,这一句话有是什么意思呢,我之前选择的是是pin is 0. |
|
|
|
晨彦 发表于 2017-7-27 23:16 比如,我新建了一个.c文件 代码如下 void PWM_INIT(int pwm1) { PWM_CH1 =pwm1; } , .h文件代码如下 #define PWM_CH1 MTU0.TGRB void PWM_INIT(pwm1) MTU3代码如下 /* Channel 0 is used as PWM2 mode */ MTU0.TCR.BYTE = _00_MTU_PCLK_1 | _00_MTU_CKEG_RISE | _20_MTU_CKCL_A; MTU0.TCR2.BYTE = _00_MTU_PCLK_1; MTU.TSYRA.BIT.SYNC0 = 1U; MTU0.TMDR1.BYTE = _03_MTU_PWM2; MTU0.TIORH.BYTE = _70_MTU_IOB_HT | _00_MTU_IOA_DISABLE; MTU0.TIORL.BYTE = _70_MTU_IOD_HT | _07_MTU_IOC_HT; MTU0.TGRA = _9C3F_TGRA_VALUE; // MTU0.TGRB =_1F40_TGRB_VALUE; MTU0.TGRC = _3A98_TGRC_VALUE; MTU0.TGRD = _4E20_TGRD_VALUE; MTU0.TGRE = _9C40_TGRE_VALUE; MTU0.TGRF = _0064_TGRF_VALUE; MTU0.TIER2.BYTE = _00_MTU_TGIEE_DISABLE | _00_MTU_TGIEF_DISABLE; MTU0.TIER.BYTE = _00_MTU_TGIEA_DISABLE | _00_MTU_TGIEB_DISABLE | _00_MTU_TGIEC_DISABLE | _00_MTU_TGIED_DISABLE | _00_MTU_TCIEU_DISABLE | _00_MTU_TCIEV_DISABLE | _00_MTU_TTGE_DISABLE; main函数如下 void main(void) { R_MAIN_UserInit(); /* Start user code. Do not edit comment generated here */ PWM_INIT (15000); R_MTU3_C0_Start(); R_MTU3_C1_Start(); R_MTU3_C2_Start(); while (1U) { ; } /* End user code. Do not edit comment generated here */ } 不知何处问题,导致无法修改占空比值 |
|
|
|
你修改占空比的地方在哪?你要改的话修改图中的MTU0.TGRA = _031F_TGRA_VALUE; MTU0.TGRB = _0064_TGRB_VALUE;
MTU0.TGRC = _0064_TGRC_VALUE; MTU0.TGRD = _0064_TGRD_VALUE;这些值 |
|
|
|
抱歉,忘了一开始的定义,你试试把PWM_INIT (15000)放到循环里看看
|
|
|
|
晨彦 发表于 2017-7-29 19:00 我有修改哟,我把PWMCH1赋值给MTU0.TGRB |
|
|
|
试了,我把这一句调用放在循环外面,循环里面,都放了,没用。。 |
|
|
|
你好,楼主,请问四路控制无刷电机的pwm信号应该怎么设置?我用e2studio生成代码,用的是mtu0的PWM mode 2,不知道为什么,设置完成之后一直没有输出,引脚电平为0
|
|
|
|
问题解决啦,,谢谢(*/ω\*)
|
|
|
|
hyb765560019 发表于 2017-8-2 01:07 硬件,板子,断开测量,烧录完后单独供电,不要连接仿真器 |
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
489 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
498 浏览 0 评论
655 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1329 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
558 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11753 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 21:23 , Processed in 0.689773 second(s), Total 66, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号