Forum: Mikrocontroller und Digitale Elektronik AVR und int. RAM


von Binnesmann (Gast)


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

von thkais (Gast)


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.

von crazy horse (Gast)


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

von Gerd (Gast)


Lesenswert?


von Armin Kniesel (Gast)


Lesenswert?

>Desweiteren sind die Befehle mit autoincrement/decrement dafür recht
nützlich

Ja, die Befehle LD X+... sind echt gut.
Da braucht man sich um (fast) nichts mehr kümmern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.