|
انت تريد أن تجعل RA1 زرار start لتحريك الموتور ؟؟
|
نعم : ولكن النبضة الاولى أمر أخراج , و النبضة الثانية أمر ثاني , و النبضة الثالثة أمر ثالث , و النبضة الرابعة أمر رابع .
ماهو الكود الذي يتعامل مع هذه النبضة ؟
وجدت هذا الكود في الانترنت لدائرة مشابهة فهل هو بلغة الmicro C? و هل هو صحيح؟
كود:
void do_step(byte step_pin, byte dir_pin, byte dir)
{
if (dir)
{
//Serial.println("+");
if (digitalRead(step_pin) == HIGH) {
if (digitalRead(dir_pin) == HIGH) {
digitalWrite(step_pin, HIGH);
digitalWrite(dir_pin, LOW);
}
else {
digitalWrite(step_pin, LOW);
digitalWrite(dir_pin, LOW);
}
}
else {
if (digitalRead(dir_pin) == HIGH) {
digitalWrite(step_pin, HIGH);
digitalWrite(dir_pin, HIGH);
}
else {
digitalWrite(step_pin, LOW);
digitalWrite(dir_pin, HIGH);
}
}
}
else
{
//Serial.println("-");
if (digitalRead(step_pin) == HIGH) {
if (digitalRead(dir_pin) == HIGH) {
digitalWrite(step_pin, LOW);
digitalWrite(dir_pin, HIGH);
}
else {
digitalWrite(step_pin, HIGH);
digitalWrite(dir_pin, HIGH);
}
}
else {
if (digitalRead(dir_pin) == HIGH) {
digitalWrite(step_pin, LOW);
digitalWrite(dir_pin, LOW);
}
else {
digitalWrite(step_pin, HIGH);
digitalWrite(dir_pin, LOW);
}
}
}
//digitalWrite(step_pin, HIGH);
delayMicroseconds(5);
//digitalWrite(step_pin, LOW);
}