树莓派控制五线四相步进电机

同样是大二时候的坑......就不明白了当初为什么不把代码也给贴上去,现在就贴出代码。

#include
#include
#include	//提供GPIO控制函数
#include	//提供sleep()函数

void DelayMs(int n)
{
	usleep(n*1000);
}

//使树莓派停止
void Step_Stop(int* Ins)
{
	int i;
	for(int i=0;i<=3;i++)
	{
		digitalWrite(Ins[i],0);	//设置为低电平,停止转动
	}
}

//完成一圈的旋转
void Step_Rounds(int* Ins)
{
	int i,j;
	for(i=0;i<4;i++)
	{
		for(j=0;j<4;j++)
		{
			if(i==j)
			{
				digitalWrite(Ins[3-j],1);
			}
			else
			{
				digitalWrite(Ins[3-j],0);
			}
		}
		//DelayMs(20);
	}
}

int main(void)
{
	int A=0,B=1,C=2,D=3;
	int Pin[4]={A,B,C,D};
	int count=100;
	int i;
	pinMode(A,OUTPUT);
	pinMode(B,OUTPUT);
	pinMode(C,OUTPUT);
	pinMode(D,OUTPUT);
	sleep(5);
	for(i=1;i<=count;i++)
	{
		Step_Rounds(Pins);
	}
	Step_Stop(Pins);
	sleep(2);
	printf("Stop!\n");
	return 0;
}
在编译C文件的时候,使用gcc XXX.c -o XXX -lwiringPi指定连接wiringPi库才可以驱动步进电机,之后运行编译好的文件,便可以看到步进电机工作了。

你可能感兴趣的:(树莓派,编程)