[c] PORTC3+4 dauerhaft an ATmega32

OP #3611560
Lesenswert?

Hallo,
Bin gerade an einem Projekt und versuche einen Schrittmnotor mit 
folgendem Programm anzusteuern:
1
#include <avr/io.h>
2
#define F_CPU 1000000
3
#include <util/delay.h>
4

5
int main (void){
6
DDRC=0xFF;
7
while(1){
8
PORTC = 0b00000001;
9
_delay_ms(500);
10
PORTC = 0b00000010;
11
_delay_ms(500);
12
PORTC = 0b00000100;
13
_delay_ms(500);
14
PORTC = 0b00001000;
15
_delay_ms(500);
16
}
17
}

wenn ich  den Mikrokontroller einschalte und  mit dem Oszilloskop messe, 
funktionieren die ersten beiden Schritte, aber PORTC2 und PORTC3 bleiben 
seit Start des Programmes dauerhaft eingeschalten.

Mit freundlichen Grüßen
Valentin Schlegel
Gast #3611612
Lesenswert?

Hi

>PORTC = 0b00000001;
>_delay_ms(500);
>PORTC = 0b00000010;
>_delay_ms(500);
>PORTC = 0b00000100;
>_delay_ms(500);
>PORTC = 0b00001000;
>_delay_ms(500);

Sieht etwas merkwürdig aus. Wenn das ein unipolarer Schrittmotor ist, 
dann steuerst du immer nur eine Spule an. Üblich sind zwei.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren