Forum: Mikrocontroller und Digitale Elektronik Boese Ueberraschungen beim ATMEGA2560-16AU


von Martin (Gast)


Lesenswert?

Hallo Leute!

Die Überschrift ist nicht ganz so gemeint, wie man sie auffassen könnte.
Zur Zeit beschäftigt mich ein neues Projekt.
Ich verwende dazu den ATMEGA2560-16AU.
Dieser Baustein besitzt 100 Anschlüsse und ich benötige für mein Projekt
bis auf 10 I/O-Pins alle I/O-Ports.

Die Umschaltung der PORTS sollte relativ schnell erfolgen.
Nun wollte ich fragen, ob man z.B. PORTL oder PORTK ebenso
einfach und schnell ansprechen kann, wie die übrigen PORTS?

Ich frage deshalb, weil beim ATMEGA128 konnte man, glaub ich,
PORTG nicht bitmäßig ansprechen.

Mein Programm wird so ausgelegt sein, dass die Ports byteweise 
geschrieben
oder gelesen werden.
Kann ich davon ausgehen, dass es hier keine bösen Überraschungen
wegen der Ports geben wird?
Ich programmiere mit Codevision-AVR.


Ich danke euch vielmals.
Tschüss
Martin

von Schorsch (Gast)


Lesenswert?

> Ich frage deshalb, weil beim ATMEGA128 konnte man, glaub ich,
> PORTG nicht bitmäßig ansprechen.

Wie meinst du das?

Die Ports sind doch alle gleichwertig. Gut, manche sind vielleicht nur 
6-Bit breit, sollte aber kein Problem bereiten.

von Falk (Gast)


Lesenswert?

@Martin

>Die Überschrift ist nicht ganz so gemeint, wie man sie auffassen könnte.

Warum schreibst du sie dann nicht anders?

>Die Umschaltung der PORTS sollte relativ schnell erfolgen.
>Nun wollte ich fragen, ob man z.B. PORTL oder PORTK ebenso
>einfach und schnell ansprechen kann, wie die übrigen PORTS?

Was heisst für dich "realtiv schnell"? Der Portzugriff dauert einen 
Takt. Ist das schnell genug?

>Ich frage deshalb, weil beim ATMEGA128 konnte man, glaub ich,
>PORTG nicht bitmäßig ansprechen.

Mag sein.

>Mein Programm wird so ausgelegt sein, dass die Ports byteweise
>geschrieben
>oder gelesen werden.

Dann ist das ja kein Problem.

>Kann ich davon ausgehen, dass es hier keine bösen Überraschungen
>wegen der Ports geben wird?

Nöö.

MfG
Falk

von Oliver (Gast)


Lesenswert?

RTFM.

Besonders, wenn mission-kritische Features genutzt werden sollen. (WOW, 
was für'n Satz...)

Oliver

von Rahul D. (rahul)


Lesenswert?

>>Kann ich davon ausgehen, dass es hier keine bösen Überraschungen
>>wegen der Ports geben wird?

>Nöö.

Datenblatt und Errata-sheet könnten interessant sein...

von Martin (Gast)


Lesenswert?

Unter Codevision kann man Ports im Allgemeinen folgendermaßen 
ansprechen:
z.B.
DDRA.0=1;
PORTA.0=1;
usw.

Aber
z.B.
PORTG.0=1;
funktioniert nicht

Und ich habe gehört, dass dies irgendwie an den internen Registern
des Prozessors liegen muss.

Tschüss
Martin

von Martin (Gast)


Lesenswert?

Errata-Sheet ist eine gute Idee.

von Schorsch (Gast)


Lesenswert?

> Was heisst für dich "realtiv schnell"? Der Portzugriff dauert einen
> Takt. Ist das schnell genug?

Ziemlich sinnfrei diese Aussage, denn sie gilt nur, wenn stets der Wert 
ausgegeben werden soll. Für das Einlesen mag sie eingeschränkt richtig 
sein.

Falk, hast du dir eigentlich mal dein gesamtes Posting durchgelesen? Du 
hast keine einzige wirklich nützliche Information gegeben, es enthält 
nur erziehende Anspielungen. Das aber nur am Rande...

von G. Nicht (Gast)


Lesenswert?

Sieh Dir bitte die 'Register Summary' im Datenblatt an. Einige Ports 
liegen oberhalb der Adresse 0x60 und können daher 'nur' mit LDS und STS 
angesprochen werden. Das ist in der Regel kein Problem.

Wenn ein Compiler PORTG.0=1 nicht kennt, ist das sein Problem. PORTG |= 
1 sollte doch klappen.

von Falk (Gast)


Lesenswert?

@Schorsch

>> Was heisst für dich "realtiv schnell"? Der Portzugriff dauert einen
>> Takt. Ist das schnell genug?

>Ziemlich sinnfrei diese Aussage, denn sie gilt nur, wenn stets der Wert
>ausgegeben werden soll. Für das Einlesen mag sie eingeschränkt richtig
>sein.

???? Was dauert bei einem Port lesen länger?

in r16,portx
i = PORTX;


>Falk, hast du dir eigentlich mal dein gesamtes Posting durchgelesen? Du

Oh, der Herr Oberlehrer mal wieder.

>hast keine einzige wirklich nützliche Information gegeben, es enthält
>nur erziehende Anspielungen. Das aber nur am Rande...

Irrtum, ich habe nachgehakt. Denn solche schwammigen Begriffe wie 
"realtiv schnell" sind vollkommen unbrauchbar. Und wer schwammige Fragen 
stellt, sollte nicht auf klare Antworten hoffen. Deshalb sollte der 
Fragesteller erstmal die Frage klar(er) formulieren. Und wenn er schon 
weiss, dass einige Ports nicht bitadressierbar sind, dann hat er auch 
die nötigen Kenntnisse mal das Datenblatt zu lesen. Es kommt aberso 
rüber, al ob er dazu wenig Lust hat.

@Rahul Der trollige

>>>Kann ich davon ausgehen, dass es hier keine bösen Überraschungen
>>>wegen der Ports geben wird?
>>Nöö.

>Datenblatt und Errata-sheet könnten interessant sein...

Wenn Atmel ne simplen Portzugriff vergeigt gehören sie an die Wand 
gestellt (und die Controller in die Tonne). Jaja, McMurphy is watching 
you.

MfG
Falk


von Schorsch (Gast)


Lesenswert?

> Oh, der Herr Oberlehrer mal wieder.

Greif dir mal an die eigene Nase!

> in r16,portx
> i = PORTX;

Wenn du das in einem Takt schaffst, kriegste von mir ne Kiste Bier.

von Rahul D. (rahul)


Lesenswert?

>Wenn Atmel ne simplen Portzugriff vergeigt gehören sie an die Wand
>gestellt (und die Controller in die Tonne).

Das ist schon klar. Wenn jemand sich aber nicht sicher ist, sollte er 
sich lieber die offizielle Doku angucken anstatt auf Leute zu hören, die 
Sachen wie "ich glaube...", "..vielleicht...", "...meiner Meinung 
nach..." etc von sich geben. Sollte keine Kritik an deinem Post sein.

von Falk (Gast)


Lesenswert?

@Schorsch

>> in r16,portx
>> i = PORTX;

>Wenn du das in einem Takt schaffst, kriegste von mir ne Kiste Bier.

[ ] Dir ist aufgefallen dass das einmal Assembler und einmal C ist.

MFG
Falk

von Escapetastendrücker (Gast)


Lesenswert?

[] Du weist, was ein C-Compiler aus "i = PORTX;" machnt.

von Falk (Gast)


Lesenswert?

@Rahul Der trollige

>Das ist schon klar. Wenn jemand sich aber nicht sicher ist, sollte er
>sich lieber die offizielle Doku angucken anstatt auf Leute zu hören, die
>Sachen wie "ich glaube...", "..vielleicht...", "...meiner Meinung
>nach..." etc von sich geben. Sollte keine Kritik an deinem Post sein.

100% Zustimmung.

MfG
Falk

P.S. Ich jederzeit offen für substanzielle Kritik. Niemand hat die 
Weisheit mit Löffeln gefressen, auch ich nicht.

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.