I need to drive a stepper motor that would rotate with a step angle of 7.5 degrees. The code that I wrote has an error even though I am unable to locate anything in the code. Here's the error:
Error [500] ; . undefined symbols:
_delay (stepper.obj)_digitalWrite (stepper.obj)_digitalRead (stepper.obj)_analogRead (stepper.obj)_pinMode (stepper.obj)
The code:
Any help would be appreciated.
Error [500] ; . undefined symbols:
_delay (stepper.obj)_digitalWrite (stepper.obj)_digitalRead (stepper.obj)_analogRead (stepper.obj)_pinMode (stepper.obj)
The code:
Rich (BB code):
#include <pic.h>
#define yellow 15 //Q1
#define orange 16 //Q2
#define brown 17 // Q3
#define black 18 // Q4
#define CW 33 // SW0 in schematic
#define CCW 34 //SW1 in schematic
void all_coils_off()
{
digitalWrite(black, 0);
digitalWrite(brown, 0);
digitalWrite(orange, 0);
digitalWrite(yellow, 0);
}
void reverse(int i) {
while (1) {
digitalWrite(black, 1);
digitalWrite(brown, 0);
digitalWrite(orange, 1);
digitalWrite(yellow, 0);
delay(analogRead(0)/4 + 10);
i--;
if (i < 1) break;
digitalWrite(black, 0);
digitalWrite(brown, 1);
digitalWrite(orange, 1);
digitalWrite(yellow, 0);
delay(analogRead(0)/4 + 10);
i--;
if (i < 1) break;
digitalWrite(black, 0);
digitalWrite(brown, 1);
digitalWrite(orange, 0);
digitalWrite(yellow, 1);
delay(analogRead(0)/4 + 10);
i--;
if (i < 1) break;
digitalWrite(black, 1);
digitalWrite(brown, 0);
digitalWrite(orange, 0);
digitalWrite(yellow, 1);
delay(analogRead(0)/4 +10);
i--;
if (i < 1) break;
}
}
void forward(int i) {
while (1) {
digitalWrite(black, 1);
digitalWrite(brown, 0);
digitalWrite(orange, 0);
digitalWrite(yellow, 1);
delay(analogRead(0)/4 +10);
i--;
if (i < 1) break;
digitalWrite(black, 0);
digitalWrite(brown, 1);
digitalWrite(orange, 0);
digitalWrite(yellow, 1);
delay(analogRead(0)/4 +10);
i--;
if (i < 1) break;
digitalWrite(black, 0);
digitalWrite(brown, 1);
digitalWrite(orange, 1);
digitalWrite(yellow, 0);
delay(analogRead(0)/4 +10);
i--;
if (i < 1) break;
digitalWrite(black, 1);
digitalWrite(brown, 0);
digitalWrite(orange, 1);
digitalWrite(yellow, 0);
delay(analogRead(0)/4 +10);
i--;
if (i < 1) break;
}
}
void setup()
{
pinMode(CW, RB0);
pinMode(CCW, RB1);
// digitalWrite(CW, 1); // pull up on
// digitalWrite(CCW,1); // pull up on
pinMode(black, PORTC);
pinMode(brown, PORTC);
pinMode(orange, PORTC);
pinMode(yellow, PORTC);
// all coils off
digitalWrite(black, 0);
digitalWrite(brown, 0);
digitalWrite(orange, 0);
digitalWrite(yellow, 0);
}
void loop()
{
if (!digitalRead(CW))
{
forward(200);
all_coils_off();
}
if (!digitalRead(CCW))
{
reverse(200);
all_coils_off();
}
} // end loop
void main ()
{
PORTC=0x00;
PORTB=0xFF;
setup();
loop();
}