www.mikrocontroller.net

Forum: Compiler & IDEs ATmega 32 - Fragen zum "Status Code"


Autor: bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe zwei Fragen.

1.
Im Datenblatt des Atmega32 stehen auf Seite 184 sogenannte "Status 
Codes" des Register TWSR, z.B. "$08". So wie ich das verstehe soll dann 
als Reaktion auf ein bestimmtes Ereignis am TWI eben z.B. "$08" im 
Register TWSR stehen. Leider ist mir unklar wie einem Byte "$08" 
angezeigt werden soll.

2.
Auf seite 182 des ATmega32-Datenblatts sind Codebeispiele in C 
angegeben. Code vision akzeptiert dies jedoch nicht, da dort einzelne 
Bits angesprochen werden, z.B. "TWINT" was seinerseits wieder 
bestandteil des TWCR -Registers ist.
Liegt es am Compiler oder wie sind dies Beispiele zu verstehen?


Danke im Voraus

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bierschinken schrieb:
> Leider ist mir unklar wie einem Byte "$08"
> angezeigt werden soll.

$08 ist eine andere Schreibweise für das, was in C 0x08 wäre (hex).

> Auf seite 182 des ATmega32-Datenblatts sind Codebeispiele in C
> angegeben.  Code vision akzeptiert dies jedoch nicht, da dort einzelne
> Bits angesprochen werden, z.B. "TWINT" was seinerseits wieder
> bestandteil des TWCR -Registers ist.
> Liegt es am Compiler oder wie sind dies Beispiele zu verstehen?

Vermutlich hast Du nur nicht die nötigen Includes eingebunden.  Denn das 
dortige C sollte jeder C-Compiler verstehen.  Das ist nur absolut 
standardmäßige Bitarithemtik, auch die Teile mit TWINT und TWCR.

Autor: Bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hc Zimmerer schrieb:

> Vermutlich hast Du nur nicht die nötigen Includes eingebunden.  Denn das
> dortige C sollte jeder C-Compiler verstehen.  Das ist nur absolut
> standardmäßige Bitarithemtik, auch die Teile mit TWINT und TWCR.

Ok Danke, welche Includes brauch ich da noch?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da musst Du in den Unterlagen Deines Compilers nachschauen, wo die 
Register des verwendeten µCs definiert werden.  Bei avr-gcc wäre es 
<avr/io.h>, aber das wird Dir wenig nützen.

Autor: Bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe bis hierher;-)

Jetzt hab ich eine weitere Frage zu Thema Status Code:

Im ATmega32 datenblatt steht auf seite 194 der status-code "0xB0" und 
dabei steht: "Arbitration lost in SLA+R/W as master; own SLA+R has been 
received; ACK has been returned"

was bedeutet dieser Code im Fall des slave transmitter? und worin liegt 
der Unterschied 0xA8 (ebenfalls auf Seite 194 des Datenblatt 
beschrieben)

LInk zum datenblatt:
http://www.atmel.com/dyn/resources/prod_documents/...

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.