www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ISP-Ports als I/O


Autor: Oli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin absoluter Anfänger im µC-Bereich und mir bewusst, dass diese 
Frage sicher nicht zum ersten Mal auftaucht.

Mir schwebt ein Projekt mit relativ vielen I/O-Pins an einem Mega32 vor 
-- so viele, dass ich die Portpins PB5-7 ebenfalls belegen muss. Soweit 
ich mich bislang eingelesen habe, sollte das ja auch funktionieren. Nun 
habe ich aber die Wahl, je nach «Design», diese Ports entweder als Ein- 
oder Ausgang zu belegen -- bin aber nicht sicher, was davon wirklich 
sinnvoller ist.

Die Eingänge wollte ich, wie im Tutorial «Entprellung» beschrieben, über 
74xx14-Inverter realisieren, die Ausgänge sollen, wie in 
«Schieberegister» beschrieben auf 74xx595 führen.

Meine Überlegung: Nutze ich die ISP-Pins für Eingänge, wird mir 
vermutlich der 74xx14 dauerhaft einen High- oder Low-Pegel auf die 
Leitung «drücken» wollen, was der ISP-Sache wohl nicht dienlich ist. 
Könnte das einfach durch einen Widerstand (10k? ??) zwischen Inverter 
und µC gelöst werden, wenn der ISP-«Abgriff» dann direkt am µC-Pin 
liegt?
Alternative: Ich nutze die ISP-Pins für Ausgänge; allerdings könnte ich 
mir vorstellen, dass -- je nach Belegung -- das muntere 
Pegel-hoch-und-runter beim Programmieren ungewollte Dinge in den 
Schieberegistern hinterlässt (ich gehe mal davon aus, dass die 
zusätzliche «Last» auf der Leitung durch die Schieberegister die 
Programmierung selbst nicht stören dürfte?). Könnte ich das Problem 
lösen, indem ich den RESET-Pin des µC mit dem «SCL»-Port der 
Schieberegister verbinde? So dass beim Programmieren die 
74xx595-Ausgänge dauerhaft auf "0" stehen? Oder zieht der ISP-Adapter 
den Reset-Port nur kurz auf "Low", so dass diese Idee nichts bringt?

Muss ich ansonsten noch etwas beachten, wenn ich alle 31-32 Pins belegen 
möchte (außer, dass ich wohl das JTAG deaktivieren muss)?

Ich danke schon mal für die Antworten,

Oli

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Oli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort :-)
Ich muss aber trotzdem nochmal doof nachfragen: Das klingt jetzt erstmal 
nach «geht beides».
(1)
> In case other devices [...] [are] connected to the ISP lines the
> programmer must be protected from any device [...] that
> may try to drive the lines. [...]  Applying series resistors on the
> SPI lines, as depicted in Figure 4-2, is the easiest way of doing this.
und
(2)
> the AVR is held in RESET to enter programming mode

Wären 10k denn ein passabler Wert für «Lösung 1»?

Danke & Gruß,
Oli

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Wären 10k denn ein passabler Wert für «Lösung 1»?

Ich habe es selbst noch nicht gebraucht, aber 10k wären auch erst mal 
meine Wahl.

MfG Spess

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.