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;
}