Forum: Mikrocontroller und Digitale Elektronik I2C per Software auf PIC16F877


von Markus L. (ichkg)


Lesenswert?

Hi
da ich das MSSP Modul des PIC16F877 für andere Sachen böige muss ich I2C 
per Software machen, welche Pins soll ich Das für SDA u SCL nehmen? Ist 
das frei wählbar oder gibt es nur bestimmte geeignete Pins, da ich ja 
soweit ich weiß OpenTrain Ausgänge brauch.
mfG
Markus

von Ben (Gast)


Lesenswert?

beim PIC kenn ich mich nicht allzu gut aus, aber wenn du das in software 
machst dürften die pins egal sein. die gehen beim atmel AVR zumindest 
auch als open collector, du darfst sie dann halt nur niemals logisch 
high schalten sondern mußt sie als eingang definieren, den rest machen 
die pullups.

von Claudio H. (bastelfinger)


Lesenswert?

Da kannst du beliebige nehmen. Im manchen Compilern (z.B. HI-TECH) ist 
ein Software-I2C dabei, da musst du nur über Defines deine PINs angeben. 
Müssen nnicht notwendigerweise im gleichen Port sein.

von Gast XIV (Gast)


Lesenswert?

Master oder Slave?

Beim Slave kannst du Timing Probleme bekommen da die Interruptroutine 
Zeit braucht. Mit Polling wird es noch schwieriger.

Als Bastellösung evtl. das MSSP für beide Zwecke nutzen und einen Port 
als I2C  / Seriell... Enable  nutzen.

von Michael L. (michaelx)


Lesenswert?

"OpenTrain" - Du bist ein Scherzkeks oder was!?

Aber zu deiner Frage:Im Prinzip kannst du jeden beliebigen Pin nehmen, 
denn "open Collektor" bzw. "open Drain" kannst du durch setzen des Bits 
auf '0' und umschalten der I/O-Richtung im TRISx-Register simulieren.

HTH

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.