- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 40

Thema: Wiso funktioniert meine Software für den ATmega88 nicht ??

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Das sieht ja eigentlich gut aus, ich erhalte beim Kompilieren allerdings Warnungen weil das void als Parameter in den Definitionen fehlt:

    void driveForward(void){

    Aber das kann's eigentlich nicht sein. Hauptfehler beim Verwenden des AVR-Studios ist das Vergessen des Speicherns vor dem Kompilieren. Deshalb im Anhang die von mir erzeugte Hex-Datei.

    Funktioniert das:
    Code:
    #define __AVR_ATmega88__
    
    #include <avr/io.h>
    //#include <iom88.h>
    
    #define STATSLED0_ON  (PORTC |= 1<<PC0)
    #define STATSLED0_OFF (PORTC &= ~(1<<PC0))
    #define STATSLED1_ON  (PORTC |= 1<<PC1)
    #define STATSLED1_OFF (PORTC &= ~(1<<PC1))
    
    #define STATSLED2_ON  (PORTC |= 1<<PC2)
    #define STATSLED2_OFF (PORTC &= ~(1<<PC2))
    #define STATSLED3_ON  (PORTC |= 1<<PC3)
    #define STATSLED3_OFF (PORTC &= ~(1<<PC3))
    
    #define SWITCH_LEFT  		(PINC & 1<<PC4)
    #define SWITCH_RIGHT 		(PINB & 1<<PB4)
    #define SWITCH_BACK_LEFT 	(PINC & 1<<PC6)
    #define SWITCH_BACK_RIGHT 	(PINB & 1<<PB0)
    
    int main(void){
    
    	//DDRD = 1<<PD6 | 1<<PD7;			// PD6 PD7 Output Motor1;
    	//DDRB = 1<<PB1 | 1<<PB2;			// PB1 PB2 Output Motor2;
    
    	DDRC &= ~(1<<PC4 | 1<<PC6);		// PC4 PC6 Input SWITCH_LEFT & SWITCH_BACK_LEFT;
    	DDRB &= ~(1<<PB4 | 1<<PB0);		// PB4 PB0 Input SWITCH_RIGHT & SWITCH_BACK_RIGHT;
    
    	DDRC = 1<<PC0 | 1<<PC1;			// PC0 PC1 Output StatusLED0 & 1;
    	DDRC |= 1<<PC2 | 1<<PC3;		// PC2 PC3 Output StatusLED2 & 3;
    	while(1)
    	{
    	   if(SWITCH_LEFT) STATSLED0_ON; else STATSLED0_OFF;
    	   if(SWITCH_BACK_LEFT) STATSLED1_ON; else STATSLED1_OFF;
    	   if(SWITCH_RIGHT) STATSLED2_ON; else STATSLED2_OFF;
    	   if(SWITCH_BACK_RIGHT) STATSLED3_ON; else STATSLED3_OFF;
    	}
    	return(0);
    }
    (Nicht getestet weil mir der passende Roboter fehlt)

    Ich hoffe, es ist so richtig. Die Hex-Datei dazu ist auch im Anhang. Übrigens: Willkommen im RN-Forum.

    Gruß

    mic
    Angehängte Dateien Angehängte Dateien
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress