我用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;
}
}
}
}
|