-         

Ergebnis 1 bis 6 von 6

Thema: AVR Atmega8

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Beiträge
    9

    AVR Atmega8

    Anzeige

    Hallo

    Ich nochmal.
    Ich habe heut nun den ganzen Tag am myAVR-Board verbracht - sowie auch im Internet.

    VIelleicht habe ich mich einfach nur ein wenig blöd angestellt.
    Folgende Zusammenfassung:

    Ich schreibe Programme als normales asm-File, Compilire mit gavrasm und brenne mit avrdude. Irgendwas passt mir daran nicht - ständig unheimlich lange Kommandozeilen etc. Gibt es denn keine "saubere" Möglichkeit?

    Über ein paar Tipps und Hinweise würde ich mich freuen - was auch noch interessant wäre, wären Programm Beispiele.

    Gruß

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Beiträge
    9
    Und dann stehe ich schon vor dem nächsten Problem.
    Das folgende Programm funktioniert im AVR-Studio 1A und am Board überhaupt nicht.

    Funktion:
    LED EIN
    WARTEN AUF TASTER IM LOOP
    TASTER GERDRÜCKT, 2te LED AN

    Code:
    start:	
    	ldi	r16,low(ramend)		;Stackpointer auf
    	out	spl,r16				;RAM-Ende setzen
    	ldi	r16,0b00000011		;PortB: PB0 auf Ausgang
    	out	ddrb,r16			;setzen
    	ldi	r16,0b00000001		;PortB: PB0 auf Ausgang
    	out	portb,r16
    loop:	
    	in	r16,pinb 			;PINb einlesen
    	cpi	r16,5				;
    	breq exit
    	rjmp	loop
    exit:
    	ldi	r16,0b0000011
    	out	portb,r16

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255

    Re: AVR Atmega8

    Zitat Zitat von Thopos
    Irgendwas passt mir daran nicht - ständig unheimlich lange Kommandozeilen etc. Gibt es denn keine "saubere" Möglichkeit?
    es gibt ne grafische oberfläche für avrdude:
    http://sourceforge.net/projects/avrdude-gui

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo Thopos,
    >cpi r16,5
    du vergleichst mit 5, binär 00000101?
    Schaltet der Taster denn 5Volt an den Eingang PinB.2?
    PinB.0 sollte ja schon 1 liefern.
    Gruß, Michael

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Beiträge
    9
    Genau, die erste LED ist ja schon An, somit liefert pinb.0 schon 1.

    Prinzipiell habe ich meinen Fehler gefunden, PullUp
    Aber so wirklich verstehen, tue ich das noch nicht...

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    16.02.2005
    Ort
    Berlin
    Alter
    37
    Beiträge
    17
    Hi , habe auch ein Problem mit der Tasterabfrage bei einem STK500 Board,
    habe folgendes Program geschrieben, naja den Teil mit der Tasterabfrage hae ich aus dem Datenblatt vom Atmeg8, komischerweise reagiert die LED auf die Taster 4und 5 und ich hab keine Ahnung warum , vielleicht hat jemand von euch eine Erklärung dafür.

    int main(void)
    {

    while(1)
    {
    DDRD |= 0xff;
    PORTD |= 0xff;

    unsigned char a;

    /* Define pull-ups and set outputs high */
    /* Define directions for port pins */
    PORTB |= (1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0);
    DDRB |= (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);


    /* Read port pins */
    a = PINB;
    if(a ==243) // bei a==243 LED an Taster4/5 geht aus
    {
    PORTD &= ~(1<<PD0) ;
    }

    }
    }

Berechtigungen

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