同样是大二时候的坑......就不明白了当初为什么不把代码也给贴上去,现在就贴出代码。
#include<stdio.h>
#include<stdlib.h>
#include<wiringPi.h> //提供GPIO控制函数
#include<unistd.h> //提供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库才可以驱动步进电机,之后运行编译好的文件,便可以看到步进电机工作了。