Forum: Mikrocontroller und Digitale Elektronik STM32F103 I2C Problem


von Michael R. (mreck)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
habe hier folgendes Problem:
Ein fertiges Board zur Temp-Überwachung von Batteriemodulen, die ich 
umbaue. Die Temp-Überwachung wäre natürlich super, aber ich muss ein 
neues Programm schreiben für den STM32F103RET6, da ich keinerlei 
Beschreibung habe vom Protokoll. Außerdem möchte ich die Funktionalität 
auf meine Bedürfnisse anpassen.
Jetzt habe ich hier u.A. ein I2C-EEPROM am Controller. Jedoch passen 
hier scheinbar die Pins nicht. Der SD Pin vom EEPROM geht auf PB5, das 
würde passen (PB5=I2S3_SD). Der SCL vom EEPROM geht auf PB4. Da liegt 
aber keine I2C Funktionaliät drauf. Auf dem PB3 wäre die I2S3_CK drauf, 
aber der Pin geht auf den PIN WriteControl vom EEPROM. Siehe auch 
Bilder, hoffe man erkennt es. Weiß jemand Rat?

von J. S. (jojos)


Lesenswert?

man kann I2C auch mit gpio zu Fuss machen, für langsames Parameter 
speichern reicht das Dicke.

von Michael R. (mreck)


Lesenswert?

Hi Jojos,
danke, alles klar. Blöde Frage - war länger raus aus dem Thema, die 
dedizierten Pins wären ja verfügbar, aber da hängen schnöde LED drauf 
per DIO. Warum nimmt man dann nicht die für den I2C und andere für DIO? 
Freie Pins gibts ja noch genug bei dem Board...

von J. S. (jojos)


Lesenswert?

das wird das Geheimnis des Designers bleiben...

von uff basse (Gast)


Lesenswert?

Michael R. schrieb:
> Der SD Pin vom EEPROM geht auf PB5, das
> würde passen (PB5=I2S3_SD).

Nein. Es müsste I2C1_SDA heissen.

Michael R. schrieb:
> Der SCL vom EEPROM geht auf PB4.
> Da liegt aber keine I2C Funktionaliät drauf.

Kann man aber durch eine Soft-I2C-Implementierung trotzdem
funktionell machen.

Michael R. schrieb:
> Auf dem PB3 wäre die I2S3_CK drauf

Har nichts mit I2C zu tun. Es müsste I2C1_SCL heissen.

Da du den EEPROM-Typ nicht genannt hast bleibt die
Frage ob das überhaupt ein EEPROM-Baustein ist und ob das
überhaupt I2C ist .....

Wenn es wirklich I2C ist dann schreibt man sich (oder
holt sich) eben eine Soft-I2C-Implementierung.

von Michael R. (mreck)


Lesenswert?

Asche auf mein Haupt, das EEPROM ist ein 4256brp, siehe Bild vom Pinout. 
Alles klar, danke...

von uff basse (Gast)


Lesenswert?

Michael R. schrieb:
> siehe Bild vom Pinout.

ja wo denn?

von Michael R. (mreck)


Lesenswert?

Im ersten Post sind drei Bilder, das erste ist die Pinbelegung vom 
EEPROM aus dem Datenblatt

von uff basse (Gast)


Lesenswert?

Michael R. schrieb:
> das erste ist die Pinbelegung vom EEPROM aus dem Datenblatt

Hätte ja ein willkürlich angenommenes sein können. Aufgrund der
nicht passenden I2C-Verdrahtung hätte man auch auf einen anderen
Baustein spekulieren können.

von Michael R. (mreck)


Lesenswert?

Ich habe hier ein fertiges Board und eine Lupe, da brauche ich nix 
willkürlich annehmen ;-)

von Michael R. (mreck)


Lesenswert?

aber ja, die EEPROM-Bezeichnung gehört natürlich auch angegeben

von uff basse (Gast)


Lesenswert?

Michael R. schrieb:
> Ich habe hier ein fertiges Board und eine Lupe, da brauche ich nix
> willkürlich annehmen ;-)

Wenn du es nicht schaffst die I2C Pins am F103 richtig zu
identifizieren dann darf ich jede Menge Willkür annehmen.

von Michael R. (mreck)


Lesenswert?

Oh, bitte vielmals um Entschuldingung hier überhaupt eine Frage gestellt 
zu haben, werde ich in Zukunft tunlichst unterlassen, sorry für die 
Belästigung...

von Paul (Gast)


Lesenswert?

Gibts von dem EEPROM auch ne SPI Version? Das würde zumindest besser zu 
den Pins am STM passen. Falls nicht, wird es wohl Soft i2c sein.

VG Paul

von Michael R. (mreck)


Lesenswert?

Hallo Paul, ist definitiv I2C. Also wahrscheinlich die Softwarelösung. 
Ist halt komisch dass die Pins vom I2C1 komplett unbenutzt sind, auf die 
unbeschalteten PB8 & PB9 kann ich auch den I2C1 wohl auch mappen wie ich 
gerade festgestellt habe.

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.