Hallo! Würd mich gerne mit dem I2C Bus beschäftigen und hab auch einiges schon drüber gelesen. Ich hab nen PIC 16F84 also was kleines aber wie ich gehört hab kann man trotzdem nen Software Master auf dem Pic machen aber wie muss der Assemblercode dafür aussehen gibts irgendwo kommentierte Beispiele oder so??? Für den Pic16F87 hab ich schon was gefunden aber der hat dafür ein Hardwareinterface und das hab ich leider nicht. Gehts auch SOftwaremäßig??? Gruß Hannes
Gehen tut alles. Schau die einfach mal die Appnotes von Microchip www.microchip.com an. Dort wirst Du auf jeden Fall fündig. Der PIC16CE625 hat z.B. ein integriertes I²C EEPROM. Auf der Hompage findest Du den kompletten Source-Code zur Ansteuerung. Steffen
Hallo! Danke erstmal für die Antwort. Hab hier was gefunden: http://www.microchip.com/1010/suppdoc/appnote/all/an554/index.htm Aber erstens is des für den PIC16CXX (läuft das auch auf dem 16F84????) und zweitens sind das 34 Seiten Code Ok sind viele Kommentare drin aber sagen wir mal die hälfte wäre es noch das wäre immerhin noch 17 Seite Assembler. Geht das nicht ein bisschen einfacher?? MFG Hannes
Die Routinen sollten auf einem 16F84 funktionieren. So wild ist die Implementation ja nicht. Einfach mal in die Dokumentation des anzusprechenden Bausteines schauen und das Protokoll nachvollziehen. Die Microchip-Routinen sind dabei evtl. eine gute Vorlage. Dabei versteht man auch wie das Ganze funktioniert. Steffen
Die Doku von so nem IC hab ich mir schon durchgelesen is auch ned soooo schwer ich muss nur irgendwie von den 17 Seiten runterkommen da halt 1K Speicher verflixt wenig ist die der 16F84 besitzt. Gibts eigendlich nen weg das Programm des PIC´s auf ein Eprom zu speichern da hätte ich mehr platz und der PIC holt sich dann sein Programm aus dem EEprom und führt die Befehle aus??? Naja dann werd ich mal die 17 Seiten versuchen zu verstehen! MFG Hannes
Soviel Code braucht der nicht. Schau Dir mal das Edne der Assemblerlistings an. Da steht der Platzbedarf (224 Byte für IIC-Slave und bei Masterimplememtierung 391 Byte) nach der Compilierung.
Naja stimmt eigendlich auch wieder, ähhm der Slave kann nur befehle Empfangen oder??? Wenn ich jetzt einzelne IC´s abfragen will dann brauch ich den Master oder???? Danke nochmal! MFG Hannes
Warum nimmst du denn nicht dem PIC 16F876??. Der kostet auch nur ein paar Euro. Und die Software-I2C-Ansteuerung kann man sich schenken. Das ist wirklich nicht schwer mit dem Hardware-I2C. Das geht fast alles automatisch. Der ganze Mist mit dem rotieren des Ausgangsbytes, das Ackknowlegde-Senden... alles macht der PIC selber, ohne aufwendige Programmierung. das sieht dann in etwa so aus: I2C Bus einschalten. Daten (meist Adresse im Slave) in best. Register im PIC kopieren. I2C Bus auschalten. fertig Das geht dann mit kleinen Unterprogrammen. Nur zu empfehlen!!
Hi! Jap ich weis eigendlich hast du ja recht. Mhhm ich hab halt grad 4 Pic 16F84 hier rumfahren aber es wäre echt geschickter. Naja ich denke ich werde mich mal erst kurzt mit der Softwareseitigen I2C Schnittstelle beschäftigen alleine nur aUS Übung und zum besseren verständnis. Das Hardwareinterface des 16F87 is echt billig anzusteuern hab das Tutorial von sprut.de gelesen. Und für mein richtiges Projekt brauch ich sowieso noch ne serielle Schnittstelle die wäre ja auch Softwaremäßig mit dem Pic 16F84 möglich aber auch als Hardwareinterface im Pic16F87 drin und da werd ich dann wohl lieber den Großen bruder verwenden und hab weniger Code und mehr Speicherkapzität. Danke nochmal an Alle!!!! MFG Hannes! PS: Ich mach jetzt leich nochmal nen neuen Thread zwecks Funken der Seriellen Schnittstelle auf, falls jemand dazu was weis kann er ja schreiben. THX
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.