Forum: Mikrocontroller und Digitale Elektronik I/O Erweiterung einfach erklärt


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 Thomas K. (thomas_k943)


Lesenswert?

Moin zusammne,
ich habe an meinem Pico w bis jetzt alle 16 I/O Ports verbraucht.
Dazu betreibe ich einen I2C Expander. Demnächst kommt noch ein 2er dazu.
Als nächstes habe ich ein 23017 i/O Expander angeschlossen.
Alle 3 Expander werden erkannt.
Allerdings gibt der I/O Expander kein Signal aus.
Die Lötbrücken von A0 bis A2 sind noch nicht verbunden.
Soviel dazu.
Jetzt habe ich gelesen das es was mit den 20x... zu tun hat.
Tabellen habe ich auch dazu gefunden.
Erklärt mir doch bitte mal die Denkweise dieser Tabellen.
Was verbirgt sich hinter die 20x, 21x usw. wie läuft dann die Zahlweise 
der angeschlossenen Ports.
Bitte einfach und simpel erklärt.
Danke

von Εrnst B. (ernst)


Lesenswert?

Wie du die GPIOs auf den Expandern ansprichst, hängt stark von deiner 
verwendeten Programmiersprache, den "Libraries", und deinem Code ab.

von Cyblord -. (cyblord)


Lesenswert?

Thomas K. schrieb:
> Bitte einfach und simpel erklärt.

Gerne: Werde Gärtner.

von Obelix X. (obelix)


Lesenswert?

Thomas K. schrieb:
> Die Lötbrücken von A0 bis A2 sind noch nicht verbunden.

Schaltplan? Googleln nach 23017 Tutorial.

Thomas K. schrieb:
> Jetzt habe ich gelesen das es was mit den 20x

Wir nicht, da wir nicht wissen wo.

Thomas K. schrieb:
> dieser Tabellen.

Welche Tabelle?

Thomas K. schrieb:
> Was verbirgt sich hinter die 20x, 21x

Zahlen mit einem 'x' dahinter.

Thomas K. schrieb:
> wie läuft dann die Zahlweise

Geht weiter mit 22x, 23x und so weiter.

: Bearbeitet durch User
von Obelix X. (obelix)


Lesenswert?

Oh, ich habe gerade auf den Kalender geschaut und gemerkt es ist ja 
wieder Freitag.

von Martin S. (mmaddin)


Lesenswert?

Thomas K. schrieb:
> ein 23017

Meinst du den MCP23017 ?

Thomas K. schrieb:
> Die Lötbrücken von A0 bis A2

A0...A2 sind Pins, keine Lötbrücken.

Thomas K. schrieb:
> 20x

Was ist denn nun "20x" ?  Der Detailgrad sinkt nun noch weiter, was soll 
das heißen?

Thomas K. schrieb:
> mal die Denkweise dieser Tabellen.

Ändere erst mal deine Denkweise! Was meinst du wie viele Tabellen es so 
in dem Bereich gibt?

Thomas K. schrieb:
> die Zahlweise

Da geht's eher im EC-Karten oder Bargeld. Bitte einfach erst mal 
überlegen bevor du etwas schreibst und bedenken das keine neben dir 
sitzt und sieht was du da genau machst...

Thomas K. schrieb:
> Bitte einfach und simpel erklärt.

Dito, leg du bitte erst mal eine konkrete und vollständig 
nachvollziehbare Anfrage hin hier.

von Roland F. (rhf)


Lesenswert?

Hallo Thomas,
ich habe dir eine PM geschickt.

rhf

von Harald A. (embedded)


Lesenswert?

ChatGPT wird hier stets sehr kritisch gesehen, aber gerade fürs 
Verständnis ist das IMHO sehr gut geeignet. Bevor Du dich hier im Forum 
mit blöden Kommentaren bewerfen lassen musst kannst Du die KI mit 
jeglicher Nachfrage im Detail löchern ohne das jemand unhöflich wird.

von Obelix X. (obelix)


Lesenswert?

Moment ich gebe mal schnell in eine KI ein "Tabelle mit 20x". Mal 
schauen was die dazu sagt. Auch eine KI braucht konkrete Fragen um etwas 
vernünftiges an Ergebnissen zu liefern.

von Harald A. (embedded)


Lesenswert?

Obelix X. schrieb:
> Moment ich gebe mal schnell in eine KI ein "Tabelle mit 20x". Mal
> schauen was die dazu sagt. Auch eine KI braucht konkrete Fragen um etwas
> vernünftiges an Ergebnissen zu liefern.

Gebe mal den Text oben 1:1 ein...

von Obelix X. (obelix)


Lesenswert?

Wenn man aber auch mal ab und zu mit echten Menschen Kommunizieren 
möchte, sollte man auch lernen wie man das macht. ;-)

von Harald A. (embedded)


Lesenswert?

Obelix X. schrieb:
> Wenn man aber auch mal ab und zu mit echten Menschen Kommunizieren
> möchte, sollte man auch lernen wie man das macht. ;-)

Absolut! Es artet hier nur immer recht schnell in Unhöflichkeiten aus, 
wie man am Thread sieht. Die Anfrage des TE ist nicht optimal, aber IMHO 
kein Anlass für Beleidigungen.

von Klar P. (Gast)


Lesenswert?

>> Wenn man aber auch mal ab und zu mit echten Menschen Kommunizieren
>> möchte, sollte man auch lernen wie man das macht. ;-)
>
>  Die Anfrage des TE ist nicht optimal, aber IMHO
> kein Anlass für Beleidigungen.

Es ist keine Beleidigung wenn man dem TO zu verstehen gibt, dass er mit 
seinem Grundlagenwissen nicht der gestellten Aufgabe gewachsen scheint 
und er sich besser Tätigkeiten widmen sollte, die nicht seinen geistigen 
Horizont übersteigen, wie bspw. Gärtnerei.

Der TO scheint ja nichtmal in der Lage zu sein fragen nach Details zu 
beantworten. Ki hilft da auch nicht weiter, die lässt  solchereinen 
bestenfalls "klug" aussehen, macht aber nicht wirklich schlau.

Deshalb lesen "Profis" auch Datenblätter und nicht im Output einer 
sogenannten KI.

von Rainer W. (rawi)


Lesenswert?

Thomas K. schrieb:
> Allerdings gibt der I/O Expander kein Signal aus.

Vielleicht muss man ihm erstmal sagen, dass er O sein soll.

von Roland F. (rhf)


Lesenswert?

Klar P. schrieb:
> Es ist keine Beleidigung wenn man dem TO zu verstehen gibt, dass er mit
> seinem Grundlagenwissen nicht der gestellten Aufgabe gewachsen scheint
> und er sich besser Tätigkeiten widmen sollte, die nicht seinen geistigen
> Horizont übersteigen, wie bspw. Gärtnerei.

Flegel.

rhf

von Klar P. (Gast)


Lesenswert?


von Harald A. (embedded)


Lesenswert?

Klar P. schrieb:
[Liste]

Sehr schön, geht doch!

von Edwin (jemand3rd)


Lesenswert?

Hallo

Klar P. schrieb:
> Es ist keine Beleidigung wenn man dem TO zu verstehen gibt, dass er mit
> seinem Grundlagenwissen nicht der gestellten Aufgabe gewachsen scheint
> und er sich besser Tätigkeiten widmen sollte, die nicht seinen geistigen
> Horizont übersteigen, wie bspw. Gärtnerei


Und das meinst du wirklich ernst?

Aber natürlich ist das eine Beleidigung - zwar nicht mit Kraftausdrücken 
- sondern von der Formulierung her, in der du es sogar "nebenher" 
schaffst einen ganzen Berufszweig mit herabzuwürdigen...

Der TO hat halt sichtlich  noch recht wenig wissen, möchte aber schon 
(zu) viel schaffen und verstehen können.

Wow welche "Frechheit" wie ungewöhnlich, noch nie dargewesen... (Ironie, 
damit es auch der letzte versteht...).

Nein, sowas ist ganz normal, zumindest wenn man zum ersten Mal, was ganz 
Neues (gerade im E-Technik und µC Umfeld, aber auch in der Mathematik) 
lernen muss, die Anleitungen schlecht, für Fortgeschrittene oder zu 
allgemein sind.

Es wird meist so einiges an Wissen vorausgesetzt, was aber fast nie 
deutlich erwähnt wird (Links und Quellen, wo diese Voraussetzungen einem 
beigebracht worden sind noch seltener).

Zum "richtig" Fragen muss man wissen, wie und welche Informationen man 
liefern sollte - das ist aber gar nicht so einfach.

Aber als jemand der meint Firm in einen Gebiet zu sein und es auch ist, 
kann auch bei ungeschickten Fragen so einiges herauslesen.

Der TO wird sich bestimmt auf die über Lötbrücken des Moduls mit dem 
MPC23017 Chip darauf beziehen (Lötbrücken gibt es nicht auf nackte ICs - 
also eines der üblichen "Chinamodule", das mit 23017, das MPC.... 
gemeint ist weis jeder Praktiker), mit der die Adresse in Hexadezimal 
eingestellt werden kann.
Da der TO Anfänger ist und einen (Arduino - auch das erkennt ein 
Praktiker automatisch) Pico verwendet, ist es sehr wahrscheinlich, dass 
er C++ unter der Arduino Entwicklungsumgebung verwenden wird.

Da braucht man nicht herumnöhlen und überheblich bis beleidigend werden, 
sondern geht einfach von Normalen aus, oder fragt freundlich(!) nach, ob 
es so ist.

Zur Not muss halt die Salami (die Frage) Scheibe für Scheibe zusammen 
miteinander geschnitten werden.

Also lieber TO

Informier dich mal was Hexadezimal ist.

Schaue dir die absoluten Grundlagen zum I²C Bus an (Eventuell sogar was 
überhaupt ein Bus ist).

Schaue die Sketche und Beispiele an, wo der Portexpander in einfacher 
Weise ohne viel Drumherum verwendet wird.

Google "How to use the  MPC 23017 with Arduino"

Wenn du das dann einigermaßen verstanden hast, kannst du dir mal die 
Datenblätter anschauen.

Videos helfen so manchen auch mehr als Texte.


Was leider nicht funktioniert ist direkt groß anzufangen - der 
Grundschüler  liest ja auch nicht direkt Dürrenmatt, nachdem er das 
Alphabet gelernt hat und Puh den Bär gelesen hat...

von Sigint 112 (sigint)


Lesenswert?

ChatGPT sagt:"
Hallo! Es klingt so, als ob du dich mit der Erweiterung deiner I/O Ports 
beschäftigst. Die Zahlen wie 20x, 21x usw. beziehen sich auf die 
verschiedenen Adressen der I2C Expander. Jeder Expander hat eine 
eindeutige Adresse, die es dem Mikrocontroller ermöglicht, mit ihm zu 
kommunizieren. Die Zahlen geben an, welche Adresse der jeweilige 
Expander hat. Zum Beispiel könnte ein Expander mit der Adresse 20x die 
Adresse 0x20 haben. Die Tabellen, die du gefunden hast, zeigen 
wahrscheinlich die Adressen der verschiedenen Expander und welche Ports 
mit welchen Adressen verbunden sind. Wenn du die Lötbrücken von A0 bis 
A2 noch nicht verbunden hast, könnte dies der Grund sein, warum der I/O 
Expander kein Signal ausgibt. Es könnte sein, dass die Adresse des 
Expanders nicht korrekt konfiguriert ist. Ich hoffe, das hilft dir 
weiter! Wenn du weitere Fragen hast, stehe ich gerne zur Verfügung."

von Harald A. (embedded)


Lesenswert?

War das ChatGPT 3.5? 4.0 in Microsoft CoPilot ist noch deutlich 
ausführlicher

von Rainer W. (rawi)


Lesenswert?

Thomas K. schrieb:
> Tabellen habe ich auch dazu gefunden.
> Erklärt mir doch bitte mal die Denkweise dieser Tabellen.

Nicht jede Tabelle, in der "20x" auftaucht, wird zu deinem Problem 
passen.
Was für eine Erklärung zur Denkweise einer uns unbekannten Tabelle 
hättest du Scherzkeks denn gerne?

Und eine Beschreibung zu deinen I/O-Expandern kannst du auch gleich 
verlinken.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Merkt's hier keiner?

Thomas K.  meldet sich nicht mehr, das sollte jedem zu denken
geben der hier sein Hirnschmalz verbrät.

Selbst wenn er sich meldet wird nichts besonders Hilfreiches
aus ihm heraussprudeln.

von Np R. (samweis)


Lesenswert?

Sigint 112 schrieb:
> ChatGPT sagt:"

Ich finde es beeindruckend, wie es gelungen ist, ChatGPT mit Hilfe von 
durch Menschen geschriebenen Texten so anzulernen, dass es in der Lage 
ist, assoziativ gut passende Antworten zu liefern - ohne dass es 
gleichzeitig das pubertäre Balzgehabe mit gelernt hätte. Es war bestimmt 
ziemlich schwer, das wieder heraus zu filtern...

von Rolf (rolf22)


Lesenswert?

Np R. schrieb:
> Es war bestimmt ziemlich schwer, das wieder heraus zu filtern...

Gesülze wie "Ich hoffe, das hilft dir weiter! Wenn du weitere Fragen 
hast, stehe ich gerne zur Verfügung" herauszufiltern, das hat jedenfalls 
nicht geklappt.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Np R. schrieb:
> Sigint 112 schrieb:
>> ChatGPT sagt:"
>
> Ich finde es beeindruckend, wie es gelungen ist, ChatGPT mit Hilfe von
> durch Menschen geschriebenen Texten so anzulernen, dass es in der Lage
> ist, assoziativ gut passende Antworten zu liefern - ohne dass es
> gleichzeitig das pubertäre Balzgehabe mit gelernt hätte. Es war bestimmt
> ziemlich schwer, das wieder heraus zu filtern...

Offensichtlich hat man für das Training dieses Forum explizit 
ausgeklammert.

von Thomas K. (thomas_k943)


Lesenswert?

Moin,
erstmal danke für die Prügel.
Es gibt doch noch was für Lau.
Anscheinend muß man doch vom Fach sein um hier Fragen zu stellen.
Ich bin mit dem Selbstlernen so weit das sich der Expander mit der 
Adresse
x27 anmeldet.
Das bedeutet das er die in meinem Programm verwendete Adresse 18 nicht 
versteht.
Ich habe auch gelernt das ich evtl mit der Adresse x20 anfrangen muß.
Für x27 sind keine Lötbrücken gesetzt, für x20 müssen alle Brücken 
gesetzt werden.
Wie finde ich heraus welche Adressen bei zb. x20 erkannt werden?
Grüße

von Monk (roehrmond)


Lesenswert?

Np R. schrieb:
> Ich finde es beeindruckend, wie es gelungen ist... ohne dass es
> gleichzeitig das pubertäre Balzgehabe mit gelernt hätte

Dafür ist ChatGPT aber immer noch ein lupenreiner Blender, der oft 
völlig Quatsch mit einem Höchstmaß an Überzeugung ausgibt. Wenn man sich 
so gut auskennt, dass man den Quatsch erkennt, braucht man ChatGPT 
nicht. Insofern ist das noch weitgehend nutzloser Tand.

von Monk (roehrmond)


Lesenswert?

Thomas K. schrieb:
> Für x27 sind keine Lötbrücken gesetzt, für x20 müssen alle Brücken
> gesetzt werden.

Solange wir nicht wissen, was du da an Hardware vorliegen hast, kannst 
du das nut selbst klären.

von Np R. (samweis)


Lesenswert?

0x20 ist eine hexadezimal Zahl.
Wenn Dein Expander ungefähr so aussieht wie der hier:
https://cdn-learn.adafruit.com/downloads/pdf/adafruit-mcp23017-i2c-gpio-expander.pdf
dann findest Du in diesem Dokument, wie die Adresse berechnet wird.

von Np R. (samweis)


Lesenswert?

Steve van de Grens schrieb:
> Dafür ist ChatGPT aber immer noch ein lupenreiner Blender,

Das stimmt allerdings. Ich finde die Ergebnisse z.B. grottig, wenn es um 
Schaltungen geht. Bei Quellcode geht's aber oft ganz gut. Vielleicht 
weil das sprachähnlicher ist?
Aber das ist jetzt OT...

von Np R. (samweis)


Lesenswert?

Thomas K. schrieb:
> danke für die Prügel.
> Es gibt doch noch was für Lau.
> Anscheinend muß man doch vom Fach sein

Nein. Aber wir können nur raten, was Du auf Deinem Tisch hast. Dieses 
Ratespiel könntest Du uns etwas vereinfachen.
Es fragt ja schon niemand nach einem Schaltplan, aber ein Foto 
vielleicht...?
Und wenn Du Dich schon auf Dokumente oder Tabellen beziehst, dann könnte 
auch ein Link zu diesen helfen.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Thomas K. schrieb:
> Ich habe auch gelernt das ich evtl mit der Adresse x20 anfrangen muß.

Warum?
Die einzige Einschränkung bei den Adressen ist, dass es auf deinem 
I2C-Bus jede Adresse maximal ein Mal geben darf.
Ob es auf Grund deiner Programmlogik noch andere gibt, kannst nur du 
wissen.

: Bearbeitet durch User
von Klar P. (Gast)


Lesenswert?

Thomas K. schrieb:
> Moin,
> erstmal danke für die Prügel.
> Es gibt doch noch was für Lau.
> Anscheinend muß man doch vom Fach sein um hier Fragen zu stellen.
> Ich bin mit dem Selbstlernen so weit das sich der Expander mit der
> Adresse
> x27 anmeldet.

Nein, so funktioniert die enumeration bei I²C nicht, die Slaves 
(Devices) melden sich nicht an, der Master fragt (liest) die jeweilige 
(slave-) Adressen an und lauscht bei welcher er ein ACK hört. Steht so 
in gefühlt  Tausenden tutorials zu I²C beschrieben.

https://wwwpub.zih.tu-dresden.de/~ss17/wiki/www.mr.inf.tu-dresden.de/wiki/tiki-index78de.html

Und auf welche Addressen dein Trio antwortet, steht in den jeweiligen 
Datenblätterm.
Und neben den Device(Slave) Adressen gibt es noch die Register-addressen
Mit beiden zusammen musste dann die jeweiligen IC Konfigurieren wie sie 
es nach Datenblatt erwarten.

Vielleicht solltest du in einen I2C Analyzer (bspw.: Salea) 
investieren?! Per Internet Sachen bestellen hast du ja offensichtlich 
drauf.
https://support.saleae.com/protocol-analyzers/analyzer-user-guides/using-i2c

von Obelix X. (obelix)


Lesenswert?

Harald A. schrieb:
> Gebe mal den Text oben 1:1 ein...

Ich habe das mal in Gemini eingegeben und bin echt überrascht aus 
welchem Kauderwelch eine brauchbare Antwort kommt. Sollte Thomas also 
mal rein schauen, das würde uns hier viel Glaskugelschauen sparen.

Thomas K. schrieb:
> Anscheinend muß man doch vom Fach sein um hier Fragen zu stellen.

Nein muss man nicht, man muss nur sein Anliegen zum Ausdruck bringen 
können. Du musst also schon sagen von welchen Tabellen du schreibst und 
was du an Hardware vor dir liegen hast.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Steve van de Grens schrieb:
> Dafür

Steve van de Grens schrieb:
> Solange

und schon wieder schreibst du im Minutentakt obwohl editieren möglich 
wäre, brauchst du auch mit deinem neuen Nick wieder unbedingt >55k 
Beiträge in wenigen Jahren?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> und schon wieder schreibst du im Minutentakt obwohl editieren möglich wäre
Schreib ihm das doch besser in einer PN und dem User samweis am besten 
auch gleich, denn der hat da gleich 3 Posts nacheinander abgesetzt...

> und schon wieder schreibst du im Minutentakt
Wenigstens 50% der beiden fraglichen Posts waren durchaus sachdienlich. 
Das kann man nicht von jedem Schreiber in diesem Thread sagen.

Thomas K. schrieb:
> Bitte einfach und simpel erklärt.
Zeig uns, was du vor dir hast. Am besten in Form eines Schaltplans. Dann 
zeig dazu, mit welchem Programm du damit was anfangen willst. Und dann 
schreibe, was passieren soll und was stattdessen passiert und wie due 
das festgestellt hast.

Thomas K. schrieb:
> Anscheinend muß man doch vom Fach sein um hier Fragen zu stellen.
Lies mal das da: Netiquette

Und dann überleg, ob du aus deinen bisherigen Informationen selber 
schlau würdest, wenn du absolut nichts von deinem Aufbau und deinen 
Problem damit wissen würdest. So geht es nämlich uns allen hier.

: Bearbeitet durch Moderator
von Joachim B. (jar)


Lesenswert?

Lothar M. schrieb:
> Schreib ihm das doch besser in einer PN

habe ich öfter vergeblich versucht

Lothar M. schrieb:
> und dem User samweis am besten
> auch gleich

der aber mit 826 Beiträge in 12 Jahren nicht so ein nerviges 
Mitteilungsbedürfnis hat.

Lothar M. schrieb:
> Wenigstens 50% der beiden fraglichen Posts waren durchaus sachdienlich.

ähm, wieviel von seinen 55.000 Beiträge in 3 Jahren von ihm sind 
sachdienlich, du hast alle gelesen?

von Thorsten S. (whitejack)


Lesenswert?

Thomas K. schrieb:
> Anscheinend muß man doch vom Fach sein um hier Fragen zu stellen.

Nö, aber auf "was ist letzte Preis" Niveau hat keiner Bock, nirgendwo!

"Muß" schreibt man seit knapp dreißig Jahren nicht mehr mit "ß"! Einfach 
auch mal ein bisschen mit der Zeit gehen... und aufmerksamer sein - ist 
mein Tipp.

Etwas nicht zu wissen ist kein Thema, aber den Scheiß hier so hin zu 
Pampen eine ganz andere...und deine Einstellung spiegelt sich ja auch in 
Deiner einzigen Antwort wieder...null Gehalt für die Helfenden...keine 
konkrete Rückmeldung...

Martin S. schrieb:
> Ändere erst mal deine Denkweise!

: Bearbeitet durch User
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.