Forum: Mikrocontroller und Digitale Elektronik MSP430G2553: I2C Treiber mit Interrupts (ohne Polling)


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 Sven Scholz (Gast)


Lesenswert?

Hallo Gemeinde,

gibt es irgendwo einen I2C-Treiber für den MSP430G2553 im Netz, der 
nicht polled, sondern mit Interrupts betrieben wird?

Ich finde hierzu leider nicht viel.
Hat jemand schon mal sowas implementiert?
Ich sehe eigentlich nur Vorteile gegenüber Polling...

Meine Anforderungen an dem Treiber sind auch nicht wirklich hoch.
Er müsste an 2 Sensoren (BH1750 und Si7021) 1-3 Byte schicken und 1-4 
Byte empfangen können.

Wenn ich das jetzt selbst implementieren möchte:
Der MSP430 ist der Master und alle anderen Sensoren sind Slave.

Im User Guide ist das das Kapitel 17.3.4.2.1 bzw. 17.3.4.2.2 oder?

Danke!

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


Lesenswert?

Sven Scholz schrieb:
> Ich sehe eigentlich nur Vorteile gegenüber Polling...
In welcher Form?

> Meine Anforderungen an dem Treiber sind auch nicht wirklich hoch.
Wozu dann Interrupts? Brauchst du die Rechenzeit? Oder fällt dir nichts 
ein, was du während der Übertragung eines Bytes auf dem I2C machen 
kannst? Udn wenn du da nichts zu tun hast, warum dann den Treiber 
verkomplizieren?

Denn "Polling" bedeutet ja nicht zwingend "stupide Warten", sondern für 
mich eher "Abfragen, ob fertig --> wenn nicht fertig, dann was anderes 
tun". Und wenn das geht, dann ist eine Polling-Architektur viel 
einfacher kontrollierbar als eine interruptgesteuerte Übertragung.

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