Forum: Mikrocontroller und Digitale Elektronik MISO/MOSI/SCK anderweitig verwenden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ronny Schulz (Gast)


Lesenswert?

Hallo,

ich möchte gern MISO, MOSI und SCK, die ja für die Programmierung
meines ATMEGA 16 vwerwendet werden noch anderweitig einsetzen.

Welche Möglichkeiten habe ich da, ohne das es ernsthafte Probleme
gibt?

In Frage kommen z.B. mehrere Taster, die ja auch mit einem Pullup oder
Pulldown versehen werden müssten.
Oder eben irgendwelche andere Logik, die ich noch verwenden möchte
(Display, Treiberbausteine etc.) ...

Danke!

von Thorsten (Gast)


Lesenswert?

Die einfachste Möglichkeit ist, den Rest der Schaltung mittels Jumper
von den drei Leitungen abzukoppeln. Dann Programmieradapter anschließen
und flashen, Adapter abziehen und die Jumper wider schließen. Zwar nicht
sehr elegant, aber dafür funktionell. Jumper könnten ja auch durch einen
Dreifachschalter ersetzt werden.

Thorsten

von Mike Schulltz (Gast)


Lesenswert?

Moin,

dsa gleichzeitige nutzen als Datenleitungen für ein Display soll auch
funktionieren, hab es zwar selber noch nicht versucht, stehe aber kurz
vor dem Test :-)

Im Extremfall zeigt das Display mal kurz Mist an.

Mike

von Benedikt (Gast)


Lesenswert?

Dann nimmt dann die Leitungen für das was sie eben gedacht sind: SPI
Schnittstelle. Solange der passende Enable Ansschluss (z.B: am EEPROM)
nicht aktiv ist, passiert nichts. Oder als Datenleitung für LCDs, ADC
uw.

von Danil Penning (Gast)


Lesenswert?

also ich hab mal an den SCK Port nen Eingangssignal geschaltet (Taster),
jez funktioniert gar nichts mehr mit ISP...

von Andreas S. (andreas) (Admin) Benutzerseite Flattr this


Lesenswert?


von Jürgen Berger (Gast)


Lesenswert?

Hallo Ronny,
ich nutze sie als SPI Schnittstelle zu einem
PGA2311 (Volume control). Klappt hervorglänzend.

Jürgen

von Ronny Schulz (Gast)


Lesenswert?

Die Lösung mit den Jumpern ist einfach und genial. Ich denke wirklich
das ist die beste Lösung um Problem aus den Weg zu gehen. Allerings
auch mit Aufwand verbunden. So braucht man recht viel Platz für so
einen Block. Immerhin müssen das ja dann 9 Kontakte sein, um das
umzuleiten.

Im FAQ steht, dass man die nicht als Eingänge benutzen kann. Gerade das
Beispiel mit dem Taster. Allerdings werde ich ja wohl den Taster nicht
drücken, wenn ich programmiere. Von daher quatsch. Nur mit den 10k -
Pullup oder Down weiß ich nicht, ob das geht .. werde das mal testen.

@Benedikt:
Das Problem ist, dass ich hier irgendwie nur Logik verwende, die mit
Chip-Selects arbeitet. Auch mein Display ist seriell und hat nur RX udn
BUSY, also auch nichts gewonnen. Allerdings kann ich, wenn ich das
richtig verstanden habe auch einfach die RX-Leitung nehmen. Zeigt es
eben Müll an. Danach wird ja sowieso resettet.

von harry (Gast)


Lesenswert?

hi,

solange nich grade relais oder anderer niederohmiger kruscht
drannehängt, isses überhaupt kein problem, ich hab die immer
anderweitig belegt.

gruss, harry

von ...HanneS... (Gast)


Lesenswert?

Auch Taster gegen GND stören nicht...
Musst sie ja nicht beim Brennen betätigen...

von thkais (Gast)


Lesenswert?

... und man kann den internen Pull-Up verwenden.

von Thorsten (Gast)


Lesenswert?

Ist ja alles schön und gut. Nur wenn mal Probleme auftauchen, Jumper
ziehen und ich hab nur mein ISP dran. Ist halt einfach am
flexibelsten.

Thorsten

von Ronny Schulz (Gast)


Lesenswert?

Aus gegeben Anlass möchte ich da wahrscheinlich ein paar DS18S20
ranhängen. Also eben 1wire-Geräte. Das müsste doch problemlos laufen.
Oder sind die 4,7 kOhm Pullup zu viel? Immerhin gehen die ja direkt auf
die serielle Schnittstelle ... bei mir ohne zusätzlichen Schaltkreis.
Ich habe die ganz einfache Variante.

von Mark Hämmerling (Gast)


Lesenswert?

Salut,

auch eine (funktionierende) Möglichkeit, die SPI-Pins für andere
Laufzeitzwecke freizubekommen: Einfacher Analog-Multiplexer (74HC4053).
Arbeitet bidirektional. Tauschst halt die elektrischen Eigenschaften
Deiner AVR-Pins gegen die des 4053 ein. Als Select-Leitung nimmst Du
einfach /RST. D.h. bei /RST=aktiv (0) schaltet der Mux auf
ISP-Interface, bei inaktiv (1) auf die Laufzeitanwendung.
Funktioniert im Betrieb völlig transparent und ist eine saubere
Lösung.

Gruß,
Mark

von Ronny Schulz (Gast)


Lesenswert?

Ja im Prinzip, wie ein analoger Schalter oder die DIP-Lösung. Einziger
Haken ist natürlich der Mehraufwand an Elektronik.

Mir gefällt es, was die Leute alles so zusammentragen. Im Prinzip
eigentlich schade, dass das irgendwann alles im Forumwust versackt,
wenn man nicht jeden Thread ständig liest. :)

von Mark Hämmerling (Gast)


Lesenswert?

Salut,

kenn mich mit Wiki-Artikelschreiben noch ned so aus. Wenn jemand
Erfahrung hat, kann er ja im µC-Wiki was dazu schreiben. Ich halte das
Thema für interessant genug, dort die möglichen Techniken aufzulisten.

Gruß,
Mark

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]
  • [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.