www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C Code für ARM erklären


Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Board!

Ich habe hier ein Stück C Code für einen ATmega8. Kann allerdings kein C 
für das Teil bzw. nur recht wenig. Vielleicht kann mir das jemand 
erklären. Im speziellen:

1. Was ist das SPDR?

2. Was macht das Wait()?

Sollte der Code jemandem bekannt vorkommen: Er ist von der Seite 
http://garydion.com/projects/videoverlay/


####################################################
if ((line > 40) && (line < 48))
  {
    SPSR = 0;
    ltemp = (line - 41) * 27 - 64;
    ntemp = (line - 41) * 14 - 45;
  DDRD  = 0x80;              /* Data direction register for port D    */
    SPDR = ltrs[head[0] + ltemp];  Wait();
    SPDR = nums[head[1] + ntemp];  Wait();
    SPDR = ltrs[head[2] + ltemp];  Wait();
    SPDR = ltrs[head[3] + ltemp];  Wait();
    SPDR = ltrs[head[4] + ltemp];  Wait();
    SPDR = ltrs[head[5] + ltemp];  Wait();
    SPDR = ltrs[head[6] + ltemp];  Wait();
    SPDR = ltrs[head[7] + ltemp];  Wait();
    SPDR = ltrs[head[8] + ltemp];  Wait();
    SPDR = ltrs[head[9] + ltemp];  Wait();
    SPDR = ltrs[head[10] + ltemp];  Wait();
    SPDR = ltrs[head[11] + ltemp];  Wait();
    SPDR = ltrs[head[12] + ltemp];  Wait();
  DDRD  = 0x00;              /* Data direction register for port D    */
  }
####################################################

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPDR: SPI-Datenregister, siehe Datenblatt zu ATmega8
Wait(): "wait" = "warten", vermutlich soll die CPU ein wenig warten

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATMega8 ist ein AVR und kein ARM!

SPDR ist das SPI-Datenregister (siehe Datenblatt und 
AVR-GCC-Tutorial).

Was wait() macht, kann man ohne Kenntnis des kompletten Codes nicht 
sagen, da es keine Standard-Funktion ist. Vermutlich wartet es...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.