Atmega64 als TWI Slave programmieren

OP #2775220
Hallo Leute,
ich brauche dringende Hilfe.
Ich muss den Atmega64 als Slave programmieren. Er soll vom
Master(Aardvark) Daten empfangen und wieder an den Master senden. Weil
mir das Ganze aber leider sehr neu ist weiss ich nicht wie ich da
vorgehen soll :(
Kann mir da jemand helfen??

VG
OP
an dem Suchbegriff liegts denke ich mal nicht, habe mir auch schon 
vorher das angeschaut, was du mir geschickt hast. Ich brauche einen 
fertigen Code, das in Eclipse oder Atmel Studio funktioniert, damit ich 
den ganzen Aufbau nachvollziehen kann...

@spess

genau :)
Gast
>Ich muss den Atmega64 als Slave programmieren. Er soll vom
>Master(Aardvark) Daten empfangen und wieder an den Master senden. Weil
>mir das Ganze aber leider sehr neu ist weiss ich nicht wie ich da
>vorgehen soll :(

Nimm einen ATega644p und benutzt den zweiten UART.
I2C ist doch Müll.
OP
spess53 schrieb:
> Hi
>
>>Ich brauche einen
>>fertigen Code, das in Eclipse oder Atmel Studio funktioniert, damit ich
>>den ganzen Aufbau nachvollziehen kann...
>
> Gibt es bei Atmel:
>
> http://www.atmel.com/Images/doc2565.pdf
> http://www.atmel.com/Images/AVR311.zip
>
> Außerdem Datenblatt ab S.219.
>
> MfG spess

Zunächst mal vielen Danke für die beiden Links, aber ich krieg mehrere 
Fehlermeldungen :((


Warning  1  ignoring #pragma vector  [-Wunknown-pragmas]

#pragma vector=TWI_vect
__interrupt void TWI_ISR( void );

Warning  3  implicit declaration of function '__enable_interrupt' 
[-Wimplicit-function-declaration]

 __enable_interrupt();

Warning  4  implicit declaration of function '__sleep' 
[-Wimplicit-function-declaration]

__sleep();

Warning  5  implicit declaration of function '__no_operation' 
[-Wimplicit-function-declaration]

 __no_operation();

Warning  6  'dont_sleep' defined but not used [-Wunused-variable]

static unsigned char dont_sleep = 0;
Gast
Hi

>Zunächst mal vielen Danke für die beiden Links, aber ich krieg mehrere
>Fehlermeldungen :((

Etwas Hirnschmalz musst du schon reinstecken. Die Beispieldateien sind 
für den IAR-Compiler. Da gibt es irgendwelche Differenzen zum 
GCC-Compiler. Allerdings bin ich da überfragt, da ich kein C benutze.

MfG Spess
OP
Also ich habe für

#pragma vector=TWI_vect
__interrupt void TWI_ISR( void );

==>  ISR(TWI_vect){}

__enable_interrupt();

==>  sei();

__sleep();

==>  cli();

__no_operation();

==>  asm volatile("NOP");

eingegeben, aber ich kann trotzdem keine Daten mit dem Master 
austauschen :-/
Gast
xxx yyy schrieb:
> Ich muss den Atmega64 als Slave programmieren. Er soll vom
> Master(Aardvark) Daten empfangen und wieder an den Master senden. Weil
> mir das Ganze aber leider sehr neu ist weiss ich nicht wie ich da
> vorgehen soll :(
> Kann mir da jemand helfen??

So eine Frage gab es schon letztens aber für einen anderen atmega, 
sollte also bei Benutzung der Suche zu finden sein. Aber hier nochmal:

Nimm am besten eine fertige Bibliothek die du nur in dein Programm 
einbinden musst, da weißt du wenigstens, dass die Software für die 
Schnittstelle funktioniert. Hier findest du eine schon mehrfach 
getestete Lib für einen atmega als TWI-Slave: 
http://www.jtronics.de/avr-projekte/library-i2c-twi-slave.html
Gast
Hi

>hmm... low-power mode() vielleicht???

Ich habe die Links nur gepostet, nicht angesehen. Du wolltest ja nur

>Ich brauche einen
>fertigen Code, das in Eclipse oder Atmel Studio funktioniert, damit ich
>den ganzen Aufbau nachvollziehen kann...

Ich hoffe, das du das auch so gemeint hast.

MfG Spess
OP
ja das habe ich auch schon getestet der hat mir aber dinge geliefert, 
die ich nicht haben wollte.. hab schon so einiges ausprobiert, aber 
irgendwie ging alles nicht bis auf das Beispiel von spess, bei dem Bsp 
weiss ich noch nicht was ich für __sleep(); in eclipse / atmel studio 
eingeben soll :-/
OP
ja gemeint war, dass ein Code einwandfrei in eclipse/atmel studio 
funktioniert.. weil Beispiele gibt es unendlich viele, die ich ja auch 
getestet habe... aber das was du gepostet hast macht genau das was ich 
wollte, von daher vielen dank spess :))
Gast
Hi

>aber das was du gepostet hast macht genau das was ich
>wollte, von daher vielen dank spess :))

Atmel hat einen Haufen interessanter Appnotes. Ich frage mich immer, 
warum das nicht die erste Anlaufstelle ist.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.