AVR und int. RAM

Gast #38227
Lesenswert?

Hallo,

habe bis jetzt nur mit 16F84 oder 8051 gearbeitet. Ich brauche jetzt
aber ein max. 20.pol. IC mit Sleep Funktion und der Möglichkeit einen
Ringbuffer zu verwalten. Da scheitert es schon am PIC. Ich weiß, geht,
aber leider nicht bei den wenigen Zyklen die ich zur Verfügung habe. Da
verliere ich in Interrupt RS232 Betrieb immer wieder Zeichen, oder
lassen den Interrupt mitten im Byte zu. Somit liebäugel ich mit dem
AVRee Board von Elektor. Fürs erste alles drauf was man so braucht.
Aber kann der AT90S2313 auch intern das RAM über einenPointer
verwalten?

Wäre super wenn mir jemand antwortet.

Gruß Binnesmann
Gast #38228
Lesenswert?

Aber sicher doch. Es gibt Indirekte Adressierung über die Registerpaare
X (R26/R27), Y (R28/R29) und Z(R30/R31). Da der 2313 einen RAM<256 Byte
hat, kannst Du die High-Bytes weglassen.
Schau Dir im Befehlsverzeichnis mal die Befehle ST und LD an.
Gast #38229
Lesenswert?

gibt recht effiziente Programme für Ringbuffer, da für Schreiben und
Lesen je ein eigener Pointer verwendet werden kann, das ständige
Umladen entfällt somit schon mal. Desweiteren sind die Befehle mit
autoincrement/decrement dafür recht nützlich. Ein Beispiel habe ich
leider nicht zur Hand, aber vielleicht kommt ja noch was

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren