ATmega8 SPI Slave

Nov 18, 2012 8 Replies

Hallo Gruppe,



ich habe in einer Anwendung den ATmega8 eingeplant und benutze den als SPI Slave. Jetzt schreibe ich die Software dafür und stutze etwas: Zwar gibts für jedes übertragene Bit einen IRQ, aber wie kriege ich denn mit, dass ein neuer Burst anfängt? Hatte in Errinerung, dass es im Statusregister dafür ein Bit gibt (erstes Byte nach !SS), aber offenbar war das irgendein anderer Prozessor. Für den mega8 sehe ich da nämlich nichts. Möchte gerne meine Frame-Synchronisierung nämlich auch über die HIGH->LOW Flanke auf !SS machen und nur ungern irgendwas hinpfuschen. Gibts da eine elegante Lösung oder muss ich den !SS in irgendeinem Timer pollen und mir ein Flag merken, wenn im Timer-ISR !SS High ist?



Viele Grüße, Johannes


>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? > Zumindest nicht öffentlich! Ah, der neueste und bis heute genialste Streich unsere großen Kosmologen: Die Geheim-Vorhersage. - Karl Kaos über Rüdiger Thomas in dsa

Dann wäre was kaputt. Es sollte ein IRQ pro Byte sein.

Offenbar...

Natürlich. Bei jedem neuzeitlichen AVR kann jeder Pin auch einen IRQ auslösen. Also nimm z.B. Mega8A statt Mega8 und der Drops ist gelutscht.

In konkreten Fall braucht man den IRQ ja nichtmal wirklich auslösen, es genügt, ihn soweit zu konfigurieren, daß das IRQ-Flag gesetzt wird.

Heiko Nocon schrieb:

Er hat aber einen ATmega8 ...

Nö, die A-Typen enthalten ja die gleiche Logik wie die Vorgänger (absichtlich, sie sollen bestmöglich als 1:1-Ersatz taugen). Aber er könnte einen ATmega88 nehmen.

cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)

Ja, klar, ein Byte.

Hm, schade.

Viele Grüße, Johannes

>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? > Zumindest nicht öffentlich! Ah, der neueste und bis heute genialste Streich unsere großen Kosmologen: Die Geheim-Vorhersage. - Karl Kaos über Rüdiger Thomas in dsa

Prima, ja, mit dem gehts.

Viele Grüße, Johannes

>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? > Zumindest nicht öffentlich! Ah, der neueste und bis heute genialste Streich unsere großen Kosmologen: Die Geheim-Vorhersage. - Karl Kaos über Rüdiger Thomas in dsa

Ähm, stimmt.

Man sollte sich vielleicht doch nicht vollständig auf sein Gedächtnis verlassen und einfach nochmal in das Datenblatt schauen, bevor man sowas postet...

Naja, der Grundgedanke bleibt aber bestehen: Langsam aber sicher den Generationswechsel vollziehen, auf jeden Fall für neue Projekte.

Die neueren Teile haben ja nicht nur den Vorteil der PCINTs, sondern auch noch einige andere und die nötigen Änderungen an bestehender Software beschränken sich fast immer auf das Umbenennen von ein paar Registern, die Hürde ist also sehr niedrig.

Jepp.

Und so sprach Johannes Bauer:

Du suchst das "Adress-Bit". Das ist quasi das 9.Bit. Das muss aber der Sender auch senden. Eine ordentliche UART sollte das kennen. Frag mich jetzt nicht, wie das bei Atmel heisst...

Roland

Du verwechselst da wohl etwas. Was du da beschreibst, hört sich nach I2C AKA TWI an. Der OP fragte aber nach SPI...

Und so sprach Heiko Nocon:

Ah, Stympt. Beim SPI geht das nicht...

Ich habe das mit dem Adressbit gerade an einer RS485-Schnittstelle am Wickel.

Roland

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required