Hallo Community, ich bin momentan als Student daran, für einen neuen Prozessor in unserem nächsten Projekt die Schnittstellen zu initialisieren. Dazu habe ich das stm32f100RB VLdiscovery Board bekommen. Pins, Externe Interrupts, SPI habe ich schon geschafft, auch schon ausgiebig getestet. Kann mit der SPI sogar schon SPI-Slaves ansteuern, z.B. ein Digitales Poti. Allerdings hänge ich momentan seit 2 Tagen an der I2C Schnittstelle...habe meinen Fehler aber jetzt gefunden. Mein Startevent wird ausgeführt, EV5 wird durch read SR1 und write DR Register gecleared. Danach sende ich die Adresse 0xA0 auf den Bus um als Master Transmitter zu arbeiten. Danach wird EV6 geprüft und hierbei kommt ein Fehler auf. Ich vermute es liegt am Acknowlegement.... Ich habe keinen Slave am Bus. Kann es sein, dass sich i2c hier in einen ERROR state versetzt, da er kein Acknowledgement bekommt? Man kann bei der Init Struktur das Ack "disablen" aber selbst dann funktioniert es bei mir nicht. Muss ich wirklich einen Slave anschließen damit das funktioniert. Bitte um schnelle Antwort, danke und schönen Abend! :)
Tobias G. schrieb: > Kann es sein, dass sich i2c hier in einen ERROR state versetzt, da er > kein Acknowledgement bekommt? Ja. Denn beim Ack geht der Master automagisch auf "nur Lesen", und der Slave müsste SDA auf Masse ziehen. Macht er das nicht, ist sofort klar dass da niemand zuhört -> Fehler.
Also MUSS ich irgendiwe nen Slave dranhängen? Dann mal an den Lötkolben und nen alten I2C Baustein von ner Leiterplatte holen...^^
Ja, aber vor dem Lötkolben bitte noch dieses Versprechen einlösen: Beitrag "Re: STM32f100RB Discovery Board" Ja, ja - das Internet vergisst nie ;-) Viele Grüße Igel1
Sobald es wirklich funktionsfähig ist stelle ich ihn hoch..;) Kann ich nicht den I2C1 des stm als master und den I2C2 als slave initialisieren und die beiden miteinander kommunizieren lassen? Müsste doch normalerweise funktionieren?...
Yes, you can use I2C1 as master and I2C2 as slave on the same board.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.