ATmega8 SPI Slave

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! 
 Click to see the full signature
Reply to
Johannes Bauer
Loading thread data ...

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.

Reply to
Heiko Nocon

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 
 Click to see the full signature
Reply to
Joerg Wunsch

Ja, klar, ein Byte.

Hm, schade.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Prima, ja, mit dem gehts.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Ä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.

Reply to
Heiko Nocon

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

Reply to
Roland Ertelt

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

Reply to
Heiko Nocon

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

Reply to
Roland Ertelt

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.