初级会员

- 积分
- 185
- 金钱
- 185
- 注册时间
- 2017-6-19
- 在线时间
- 90 小时
|
20金钱
我用原子的ATK-2MD4850步进电机驱动器配合战舰板调试步进电机,有如下两个问题不太理解,代码及问题描述如下:1、占空比如何调节,我知道是用这两个函数一起调节 TIM_SetCompare2(TIM3,450); TIM3_PWM_Init(899,0);第二个用来设置频率,第一个函数和第二个函数是怎么搭配的,计算公式是什么,我这样配出来可以得到80KHZ,占空比50%的波形,我知道50KHZ是TIM3_PWM_Init(899,0)配出来的,那么50%占空比怎么得到的?
2、TIM3_PWM_Init(899,0); 这个函数理论上我改变“899”这个值就可以得到不一样的频率,可是我试了下,频率最大只能调到5.5KHZ左右,再往下就调不了了,规格书里面说ATK-2MD4850接收脉冲频率范围 20Hz~100KHz,请问我想要500HZ的频率,应该如何设置?
- int main(void)
- {
- vu8 key=0;
- u32 led0pwmval=450;
- delay_init(); //延时函数初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- LED_Init(); //LED端口初始化
- KEY_Init();
- TIM3_PWM_Init(899,0); //不分频。PWM频率=72000000/900=80Khz
- while(1)
- {
- key=KEY_Scan(0); //得到键值
- if(key)
- {
- switch(key)
- {
- case KEY0_PRES: //
- PC2=0;
- PC0=1;
- TIM_SetCompare2(TIM3,led0pwmval);
- break;
-
- case KEY1_PRES: //
- PC2=0;
- PC0=0;
- TIM_SetCompare2(TIM3,led0pwmval);
- break;
- }
- }
- }
- }
复制代码
|
最佳答案
查看完整内容[请看2#楼]
TIM1_PWM_Init(999,71); TIM_SetCompare1(TIM1,500); 频率1k 周期1ms 占空比50%
TIM1_PWM_Init(199,71); TIM_SetCompare1(TIM1,100); 频率5k 周期200us 占空比50%
TIM1_PWM_Init(99,71); TIM_SetCompare1(TIM1,50); 频率10k 周期100us 占空比50%
TIM1_PWM_Init(49,71); TIM_SetCompare1(TIM1,25); 频率20k 周期50us 占空比50%
|