www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik nicht existierenden Port benutzen


Autor: Coconut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
würde mal gerne wissen, was passiert wenn ein nicht vorhandener Port auf 
einem µC angesprochen wird. Also nehmen wir an, mein µC hat Port A-C ich 
spreche aber Port F an und er soll z.B. als AIN wirken.
Stört dies in irgendeiner weise mien Programmablauf, sodass dieser nicht 
mehr das tut was er soll...

DANKE schon mal im voraus

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du die richtigen Headerdateien mit den Registerdefinitionen in das 
Programm eingebunden hast und nicht mit Zeigern und Absolutadressen auf 
die I/O-Register zugreifst, dann sagt Dir der Compiler/Assembler schon, 
dass das nicht geht...

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn du direkt drauf zugreifst, liest und schreibst du halt irgendwo 
im Speicher. Z.B liegt dein PORTF beim Mega128 auf Adresse $62. Beim 
Mega8 liegt da der Int0-Vektor der Interrupt-Tabelle. Lesen dürfte da 
unkritisch sein, schreiben vermutlich nicht.

Oliver

Autor: Jankey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
normalerweise geht es, wenn du den Chip aufätzt könntest du die ports 
sogar benutzen gibt sicher irgendwo ein PAD wo du da draufbonden kannst 
^^

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Stört dies in irgendeiner weise mien Programmablauf, sodass dieser nicht
> mehr das tut was er soll...
Das solltest du am besten beantworten können, du hast doch das 
Programm geschrieben. Was macht dein Programm, wenn es nur Nonsens als 
Input bekommt? Eigentlich sollte es einen Fehler melden. Wenn es das 
nicht tut: warum liest du den Wert dann überhaupt ein?

Autor: Michael Appelt (micha54)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller wrote:
>> Stört dies in irgendeiner weise mien Programmablauf, sodass dieser nicht
>> mehr das tut was er soll...
> Das solltest du am besten beantworten können, du hast doch das
> Programm geschrieben. Was macht dein Programm, wenn es nur Nonsens als
> Input bekommt? Eigentlich sollte es einen Fehler melden. Wenn es das
> nicht tut: warum liest du den Wert dann überhaupt ein?

Jaja, Mikrokontroller mit blue screen, das hatten wir doch bereits 
entsorgt ? Liegt da nicht noch ein olles Windows-CE in der Schrottkiste 
?

Also meine Mikrokontroller melden meist keine Laufzeitfehler, sie hängen 
sich einfach nur auf.

Gruß,
Michael

Autor: Urs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim Mega8 liegt da der Int0-Vektor der Interrupt-Tabelle.
Der liegt im Flash, um darauf zuzugreifen braucht's andere Befehle 
(lpm/spm).

Sofern die Adresse nicht von einem anderen Register belegt wird, 
passiert soviel ich weiß gar nichts, aber dadrauf kann man sich nicht 
verlassen.
"Reserved I/O memory addresses should never be written." steht im 
Datenblatt, d.h. das Verhalten ist nicht spezifiziert. Möglicherweise 
gibt es ja auch nicht veröffentlichte "geheime" Register.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst ja eine kleine Routine schreiben, welche durchprobiert, in 
welchem speicherbereich Du noch etwas reinschreiben kannst und auch 
wieder dasselbe ausgelesen werden kann. Es ist dann natürlich nicht 
garantiert, dass dieser gefundene, normalerweise nicht verwendete 
Speicher, auch in anderen Serien/Revisionen verfügbar ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.