请问一下两相四线步进电机的四根线时序脉冲是怎么给的,
帮我看看这个程序吧, 我发现延时函数换成
int k=800;
void Delay(void) { for(int j=0;j《k;j++); }
这个之后 步进电机转动就有问题了 请问一下是什么问题啊
#include <msp430.h> #include "Keypad.h"
uchar forward_Date[] ={0x05,0x06,0x0A,0x09}; uchar back_Date[] ={0x09,0x0A,0x06,0x05}; //橙黄黑灰 uchar stop_Date[] ={0x00};
int i;
void Delay(void) { for(int j=800;j>0;j--); } void forward(void) {
for(i=0;i<4;i++) { P2OUT =forward_Date; Delay(); }
}
void back(void) {
for(i=0;i<4;i++) { P2OUT =back_Date; Delay(); }
}
void stop(void) { P2OUT =stop_Date[0]; }
void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset P2DIR =0xff; P2OUT |=0x00; Init_Keypad(); for(;;) { Check_Key(); if(key_val==1) forward(); if(key_val==2) back(); if(key_val==3) stop(); } }
|