Hallo, ich möchte ein externes SRAM an einen ATmega16 anschließen. Der elektronische Anschluss sieht wie folgt aus: PortB des Mega16 ist mit 2 latches und den IO-Ports des SRAMs verbunden. Ein Latch liegt auf Adressleitung 0-7 das andere auf 8-15 des SRAMs. Den CS1 und CS2 vom RAM habe ich direkt auf Vcc bzw. GND gelegt damit das RAM immer "an" ist. WE/ und OE/ liegen an PortD 2 und 3. Die LE Leitungen des LAtches liegen auf PortD 4 und 5. Die Routine die ich geschieben habe angehängt. Ich habe mit dem Scope geschaut und die Adresse liegt richtig an den Adressleitungen an. Das Problem ist, dass ich keine Daten aus dem RAM lesen kann. Dummerweise kann ich nicht überprüfen, ob die Daten richtig geschrieben werden. Ich wäre sehr Dankbar für jeden hilfreichen Tip. Schöne Grüße Jan-Erik SRAM.h: //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++ SRAM ++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #define OUTEN 2 // Output Enable SDRAM #define WREN 3 // Write Enable SDRAM #define ADDRLOW 4 // Latch Enable for low Address #define ADDRHIGH 5 // Latch Enable for high Address #define DATA_PORT PORTB #define DATA_PIN PINB #define CTRL_PORT PORTD void write_address(unsigned int address); void Data_to_RAM(unsigned int address, unsigned char data); unsigned char Data_from_RAM(unsigned int address);
Die Funktion "write_address" kommt mir ein wenig seltsam vor, wie sagst Du welchem Latch, daß es jetzt die Daten am Port übernehmen soll?
Probier doch mal das hier, bitte. Ich habe Deinen Code mal ein wenig verändert, und zwar so, wie mir das Logisch erscheint. Vielleicht hilfts, wenn nicht, dann einfach nochmal Posten!
Hallo OldBug, ich habe deine Routine getestet und sie läuft super. Nochmal tausend Dank für deine Hilfe. Schöne Grüße Jan-Erik
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.