Hi! Ich habe an meinem ATmega8 'nen Atmel Dataflash (AT45DB161B) mit 16MBit Speicher angeschlossen: ATmega8 - AT45DB161B ----------------------- PB5 (SCK) - SCK PB4 (MISO) - SO PB3 (MOSI) - SI PB2 (/SS) - /CS /WP, /RESET und RDY/(/BUSY) sind nicht connected. Der Dataflash hängt ansonsten natürlich noch an VCC 3,3V und an GND. 1. Frage ist nun: Ist das so ok oder muss ich die nicht verbundenen Pins noch verbinden? 2. Hat irgendwer ein Testprogramm womit ich testen kann das der Dataflash funktioniert (man also darauf lesen und schreiben kann)?
Ich sollte vielleicht erwähnen das der Dataflash seriell (per SPI-Protokoll) geschrieben wird.
Hallo Benno, /Reset und /WD musst du auf high legen . Ob der SPI-BUS richtig angeschlossen ist ??. Bsp. gibt's bei ATMEL (AN 335 glaub ich), die benutzen alle Leitungen und den kleinen 2K Bruder aus der Familie. Gruss Bernhard
Den Reset habe ich mittlerweile mit dem Reset des Controllers verbunden (Der ist ja auch im Normalfalle ja auch auf High). /WP und RDYBSY habe ich auf den Port PB1 und PB0 gelegt. Meine Initialisierung sieht so aus: DDRB = 0x2E; // SPI Port initialisation // SCK MISO MOSI CS WP RDYBSY // PB5 PB4 PB3 PB2 PB1 PB0 // O I O O O I // 1 0 1 1 1 0 PORTB = 0xFF; // all outputs high, inputs have pullups (LED is off) Macht das hier eigentlich was aus das auf PB6 XTAL1 und auf PB7 XTAL2 liegt?
Ich denke das macht nichts aus. Du könntest PB6 und PB7 aber nutzen wenn du den internen Oszillator statt den Quarz benutzt. Dafür musst du die entsprechenden Fuse-bit programmieren. Dann kannst du die gleiche Pinnbelegung nehmen wie in der AN. Sorry wegen der falschen Behauptung zur AN 335 die ja doch mit deinem Teil arbeitet. Ich hab da was durcheinander gebracht. Gruß Bernhard
Peinlich, peinlich peinlich - mein letztes posting war auch wieder nur Müll. Das Atmel behauptet, der Port B beim Mega8 ist ein echter 8 Bit i/o, ist eine glatte Lüge. Ein paar Seiten weiter steht die Wahrheit PB6 und PB7 können anstelle des Quarzes nur für nen Teimer genutzt werden .. Sorry Bernhard
Hallo, habe nach der SPI-Schnittstelle gesucht und diese Seite gefunden. Ich möchte den LTC1286 (AD-Wandler) auslesen, der eine SPI-Schnittstelle hat. Diesen habe ich zunächst an die RS232 angeschlossen. Später soll es der Atmel übernehmen. Leider kommt nur Datenmüll an. Beim TLC549 funktioniert es. Den kann man fast statisch auslesen. Vielleicht ist die RS232 für diesen Fall zu langsam??? Wer kan helfen? Gruß aus Magdeburg H.-J. Heidenreich
Peinlich, peinlich peinlich - mein letztes posting war auch wieder nur Müll. Das Atmel behauptet, der Port B beim Mega8 ist ein echter 8 Bit i/o, ist eine glatte Lüge. Ein paar Seiten weiter steht die Wahrheit PB6 und PB7 können anstelle des Quarzes nur für nen Teimer genutzt werden .. Sorry Bernhard Nein, kein Lüge Port B Mega8 PB6 und PB7 sind echte i/o ?
Port B Mega8 PB6 und PB7 sind echte IO, wenn external Quartz/Clock oder Timer-Input nicht verwendet wird. Hast Du das neueste Datasheet ? In meinen steht unter Revisions: 12. Corrected PB6 and PB7 in Alternate Functions of Port B on page 56.
Der Mega8 hat je nach Fusebits bis zu 23 I/Os, 2*8Bit (Port B,D) und 1*7Bit (Port C). Peter
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.