完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在用TB6560驱动步进电机,给个1000hz的PWM开始转动,当时的预分频是83,但是要修改这个psc值,现在只能在tiM14_PWM_Init(u32 psc);这个定时器的初始化中设置,有没有方法,可以像修改直流电机的占空比一样,修改这个psc啊??
|
|
相关推荐
4个回答
|
|
我是这样做
void Change_PSC(u32 psc) { TIM2->PSC = psc; TIM2->EGR = TIM_PSCReloadMode_Update; } |
|
|
|
我调用了这个函数,因为我用的是TIM14,所以改成了TIM14,但是把它放到主函数里,还是没有作用啊
我的主函数是这样的,大神帮忙看看啊 int main(void) { u8 value=0; u16 led0pwmval=0; extern u32 psc; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÉèÖÃϵͳÖжÏÓÅÏȼ¶·Ö×é2 Key_GPIO_Config(); LED_Init(); delay_init(168); //³õʼ»¯ÑÓʱº¯Êý uart_init(115200);//³õʼ»¯´®¿Ú²¨ÌØÂÊΪ115200 TIM14_PWM_Init(); //84M/84=1MhzµÄ¼ÆÊýƵÂÊ,ÖØ×°ÔØÖµ500£¬ËùÒÔWMƵÂÊΪ 1M/500=2Khz. GPIO_Init1(); while(1) { value=KEY_Scan(); led0pwmval=500; TIM_SetCompare1(TIM14,led0pwmval); //Ð޸ıȽÏÖµ£¬ÐÞ¸ÄÕ¼¿Õ±È if(value) { switch (value) { case 2: Change_PSC(42); break; case 3: Change_PSC(22); break; } } else delay_ms(10); } } |
|
|
|
我调用了这个函数,因为我用的TIM14,所以
void Change_PSC(u32 psc) { TIM14->PSC = psc; TIM14->EGR = TIM_PSCReloadMode_Update; } 应该可以了吧,但是放到主函数里还是没有什么效果 int main(void) { u8 value=0; u16 led0pwmval=0; extern u32 psc; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); Key_GPIO_Config(); LED_Init(); delay_init(168); uart_init(115200); TIM14_PWM_Init(); GPIO_Init1(); while(1) { value=KEY_Scan(); led0pwmval=500; TIM_SetCompare1(TIM14,led0pwmval); if(value) { switch (value) { case 2: Change_PSC(42); break; case 3: Change_PSC(22); break; } } else delay_ms(10); } } |
|
|
|
你有没有软件调试看看?
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4481 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
352浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
359浏览 2评论
381浏览 2评论
376浏览 2评论
435浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 04:49 , Processed in 0.906971 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号