Hallo Zusammen, Warum gibt es eigentlich keinen PortA bei diesem µC, macht das Sinn oder wollte sich damit Atmel einen "Spaß" erlauben ;)? Oder anders gefragt: warum wurde bei der Port-Bezeichnung nicht bei "A" angefangen? Grüße :)
:
Bearbeitet durch User
Im Normalfall macht man sowas um Kompatibilität mit ähnlichen Bausteinen zu erreichen.
Alexander M. schrieb: > Warum gibt es eigentlich keinen PortA bei diesem µC Früher hatte der mal einen. Haben sie aber irgendwann mal weggelassen.
Alexander M. schrieb: > Oder anders gefragt: warum wurde bei der Port-Bezeichnung nicht bei "A" > angefangen? Meine Glaskugel sagt: Ursprünglich wurde der Kern für ein Gehäuse mit mehr Pins entworfen. (ist auch so sicherlich noch im Handel) Dann musste/sollte der µC auf 28Pin reduziert werden. Dann hat man einfach Port A gestrichen, mangels Pins. Damit die Benennugsverfahren beim Hersteller einem System folgen (vermute ich mal) ist da keiner auf die Idee gekommen die Bezeichner neu zu vergeben. Alexander M. schrieb: > wollte sich damit Atmel einen "Spaß" erlauben ;)? Nöö.... Glaube ich nicht. Die sind einfach ihrem Schema gefolgt. Oder mit anderen Worten: Dein Estetikempfinden, war denen völlig egal. Pragmatismus in Reinform!
Alexander M. schrieb: > Warum gibt es eigentlich keinen PortA bei diesem µC Dafür hat der ATmega328 nicht genug Pins. Die vorhandenen sind durch die familienkompatiblen Verbindung zur Peripherie schon belegt. Wenn du unbedingt einen PortA benötigst, könntest du auf ATmega640/1280/1281/2560/2561 o.ä. ausweichen.
Interessant! Viele Dank ;) Im Vergleich zum ATmega640 beginnen beim ATmega328 die Register auch erst bei "0x03" (PortB, Datasheet S. 280), beim ATmega640 beginnen diese bei "0x00" (PortA, Datasheet S.402) Noch eine weitere Frage, vielleicht kann die mir auch einer in Kürze beantworten: Der Mikrocontroller an sich ist aber schon ein "Eigener", oder wurde da beispielsweise lediglich der Chip des ATmega640 genommen, nur die Pins wegen Platzersparnis nicht angeschlossen...das wäre wohl ein bisschen "pfuscherhaft" :D...?! Danke ;)
Evtl. sind die Register bzw. ihre Adressen schon vorhanden, man könnte da also bestimmt Daten ablegen, die eben nur zu nichts führen. Ist halt die Frage welchen Die/Core die verwendet haben oder was für Kompatibilität die erreichen wollten wenn sie die Pins nicht auf PortA gemappt haben.
Hi
>Ursprünglich wurde der Kern für ein Gehäuse mit mehr Pins entworfen.
Falsch. Der allererste war der AT90(L)S4433. Mit 28 Pin und den PortsB,C
und D. Danach folgte der ATMega8 mit der kompatiblen Pinbelegung. Und
der wurde von den ATMega48,88,168 und 328 'abgelöst'. Die alle die
gleiche Peripherie aber unterschiedliche Speicherausstattung besitzen.
MfG Spess
Arduino Fanboy D. schrieb: > Dein Estetikempfinden, war denen völlig egal. Mir ist dein Ästhetikempfinden nicht egal. Dein Konrad
Thomas E. schrieb: > Früher hatte der mal einen. Haben sie aber irgendwann mal weggelassen. In welchem Universium hatte der 328 je einen PORTA gehabt? Sicher nicht in diesem ;) Samuel C. schrieb: > Im Normalfall macht man sowas um Kompatibilität mit ähnlichen Bausteinen > zu erreichen. Genau das ist auch bei Atmel der Fall gewesen. Alexander M. schrieb: > Der Mikrocontroller an sich ist aber schon ein "Eigener", oder wurde da > beispielsweise lediglich der Chip des ATmega640 genommen, nur die Pins > wegen Platzersparnis nicht angeschlossen...das wäre wohl ein bisschen > "pfuscherhaft" :D...?! Sicher bin ich mir nicht aber: Aufgrund der gleichen Adressierung und ähnlichen Eigenschaften ist es wahrscheinlich, dass der Atmega328 wahrscheinlich einen etwas weniger aufwendigen Prozess hat als der Atmega640 und dessen Freunde. Große Teile der Prozessierung werden aber in der Tat gleich sein. Das hat weniger mit Pfusch zu tun als vielmehr mit Kostenersparnissen ;) Generell sind alle AVR extrem ähnlich, insbesondere der Kern, die meisten unterscheiden sich eigentlich nur in der Peripherie/der Speicherausstattung.
M. K. schrieb: > In welchem Universium hatte der 328 je einen PORTA gehabt? Sicher nicht > in diesem Doch, hatte er.
Thomas E. schrieb: > spess53 schrieb: >> Quelle. > > Weiß ich nichr mehr. Ist schon so lange her. Und du bist dir sicher, dass du dich nicht irrst? Du verwechselst das jetzt nicht mit dem Atmega32, der hat nämlich nen PortA und klingt ähnlich...oder ein Atmega329, der hat auch ein PortA...oder der Atmega324... Also der Atmega328 ist ein Ersatztyp/Nachfolger für den Atmega8 und der hatte auch noch nie einen PortA. Ich bin mir hier sicher, dass du dich irrst.
Alexander M. schrieb: > Warum gibt es eigentlich keinen PortA bei diesem µC, macht das Sinn oder > wollte sich damit Atmel einen "Spaß" erlauben ;)? > Oder anders gefragt: warum wurde bei der Port-Bezeichnung nicht bei "A" > angefangen? Höchstwahrscheinlich gibt es ihn und die entsprechenden Pins wurden einfach nur nicht herausgeführt. Du kannst das Port-Register als zusätzliche Speicherstelle nutzen. Der Controller wird einen großen Bruder haben, im 40/44 oder 64poligen Gehäuse, der den gleichen Chip verwendet. Bei dem sind dann alle Pins angeschlossen. Falls diese größere Variante mehr Speicher hat, ist dieser Speicher auch bei dem kleinen Derivat vorhanden. Allerdings vom Hersteller nicht geprüft und eventuell sogar deaktiviert. Bei vielen Controller-Familien kommt man an die offiziell nicht vorhandenen FlashROM-Speicherblöcke über self-programming (Bootloader) dran, aber nicht über die externen Flash/Debug-Tools. RAM ist eigentlich immer zugänglich. Guck Dir die memory map des fettesten Derivates Deiner Controllerfamilie an und lass über dessen RAM-Bereich mal einen RAM-Test laufen.
Hi >Ist schon so lange her. Also vor AVR? Wie oben schon geschrieben, haben die 28pol AVRs schon seit Ende des letzten Jahrtausends (AT90S2233/4433) nur die Ports B,C und D. Und alle Nachfolger, ATMega8, ATMegaATMega48,88,168 und 328, haben die gleiche abwärts kompatible Pinbelegung. Lediglich der ATMega328PB im 32pol. QFN-Gehäuse hat noch zusätzlich PINs auf PortE. MfG Spess
Eine weitre Vermutung: Bei Kontrollern mit externem EPROM oder ROM war es Atandard, A für Daten bzw. Adressierung des RAM oder ROM zu benutzen. Port A hatte daher nicht die üblichen für I/O notwendigen Eigenschaften. Bei mit internem Programmspeicher arbeitenden Kontrollern hat man das A vermieden, weil es sich vom üblichen IO-Port unterschied.
Thomas E. schrieb: > M. K. schrieb: >> Und du bist dir sicher, dass du dich nicht irrst? > > Hundertprozentig. Wie immer. Und wie immer liegst du hundertprozentig falsch. Die gaaanz alten DaBla hatten einen Typo mit ADC und Port A, aber die neuen haben das nicht mehr und beziehen sich richtig auf Port C.
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.