Ich habe ein 008 Board von Embedit gebaut ( http://www.embedit.de/embedit/usc008/USC008board.pdf).
Mein Problem besteht nun darin, dass ich es testen möchte, bzw. die Motoren mal testen möchte. Und ich bekomme es leider nicht hin. bisher habe ich auf allen 4 Kabeln 9V. (hab ne 9V Blockbatterie an das Board geschlossen).
Hier ist mein C-Quelltext:Hoffe mir kann da jemand weiterhelfen. danke schonmalCode:/* Standard-Bibliotheken */ #include <avr/io.h> #include <inttypes.h> /* Programminterne Definitionen */ #define PORT_motor_ein PORTB // Port der Enable-Anschlüsse #define PIN_motor_l_ein 2 // Pin des linken Enable-Anschlusses #define PIN_motor_r_ein 1 #define PORT_motor_dir PORTD // Port der Richtungs-Anschlüsse #define PIN_motor_l_for 4 // Pin des linken vorwärts-Anschlusses #define PIN_motor_l_back 5 // evtl Pins anpassen (vertauschen)... #define PIN_motor_r_for 7 #define PIN_motor_r_back 6 /* Prototypen */ void init (void); int main (void) { init (); PORT_motor_ein |= (1<<PIN_motor_l_ein); // Linken Motor einschalten PORT_motor_ein |= (1<<PIN_motor_r_ein); // Rechten Motor einschalten PORT_motor_dir |= (1<<PIN_motor_l_back); // Ausgang für links rückwärts auf Low PORT_motor_dir |= (1<<PIN_motor_r_back); // Ausgang für rechts rückwärts auf Low PORT_motor_dir &= ~(1<<PIN_motor_l_for); // Ausgang für links vorwärts auf High PORT_motor_dir &= ~(1<<PIN_motor_r_for); // Ausgang für rechts vorwärts auf High do { } while (1); return (0); } void init (void) { // 0 = Eingang, 1 = Ausgang DDRB = 0b00001110; // DDR=Data Direction Register DDRC = 0b00000000; DDRD = 0b00001111; // Alle Eingaenge hochohmig/Alle Ausgänge auf Low PORTB = 0b00000000; PORTC = 0x00; PORTD = 0x00; return; }
Lesezeichen