完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我通过比较的翻转模式,输出了不同相位的PWM 靠的的CNT=CCR1,然后怎么改占空比呢? 因为在翻转的时候会产生一个中断,我准备在中断里改 但是没能成功
中断里是这么写的 void tiM4_IRQHandler(void) { // if(TIM_GetITStatus(TIM4,TIM_IT_CC1)!=RESET) { // printf("½øÈëÖжÏ1n"); if(temp==0) { TIM4->CCR1=7200; temp=1; } else { TIM4->CCR1=2400; temp=0; } } 我也看了下网上他们说不能预装载 不然CCR1是不会变得 于是我有将预装载屏蔽了 但是还是不能成功 求教想输出不同相位 还能改变占空比的PWM 的正确方式 有这方面相关的例程吗?求给一份 感谢了 |
|
相关推荐
10个回答
|
|
|
CCR1可以直接改的啊
|
|
|
|
|
|
TIM_SetCompare1(TIM4, TIMCompare1);
|
|
|
|
|
|
就如同我在中断里的程序那样,,不知道那有问题,改了输出的波形和理论的不一样
|
|
|
|
|
|
先在中断打个断点,看看程序进中断了吗?还有楼主可以吧你输出的有相位差的波形截个图发上来吗?让大家开开眼界
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void TIM3_IRQHandler(void)
{ if(TIM3->SR&0X0001) { i++; if(i>=200) { i=0; TIM3->SR&=~(1<<0); } else { TIM3->CCR1=sine; TIM3->CCR2=sine; //TIM1->SR&=~(1<<1); TIM3->SR&=~(1<<0); } } } |
|
|
|
|
|
这个试试,我的没有问题
|
|
|
|
|
|
楼主,我用的也是输出比较模式,改变ccrx的值脉宽并没有改变,电平的都是在当计数达到自动重装载值时才发生翻转,占空比是50%。我用PWM模式输出没有问题 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2776 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2379 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2255 浏览 0 评论
2367 浏览 1 评论
1625 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 10:50 , Processed in 1.014379 second(s), Total 61, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
467