Ich habe einen PIC 18F2550 und einen DAC MCP4728. Ich will Ausgangsspannungen am DAC einstellen usw. Das alles soll über I2C gehen. Hat Jemand einen fertigen I2C Mustercode den ich meinem bestehenden "Grundprogramm" integrieren kann ? Welche *.h - file muss ich includen und was muss im C-Code Teil meines Grundprogrammes stehen ???
:
Bearbeitet durch User
Dirk GP schrieb: > Das alles geht über I2C. Wenn es schon geht dann brauchst du ja keinen Code mehr.
Die Kommunikation soll über I2C gehen. In meinem Grundprogramm ist der I2C noch nicht implementiert. Brauche dringend Hilfe !!!
:
Bearbeitet durch User
Hallo Herr Krauterer, wenn Sie einen I2C Code für den PIC18F2550 haben oder mir einfach und verständlich beschreiben könnten wie ich in den C-Code meines Pic Grundprogrammes die I2C Funktionalität implementieren uns richtig einstellen kann, haben, dann wäre ich Ihnen sehr dankbar.
Dirk GP schrieb: > Hat Jemand einen fertigen I2C Mustercode den ich meinem bestehenden > "Grundprogramm" integrieren kann ? Welche *.h - file muss ich includen > und was muss im C-Code Teil meines Grundprogrammes stehen ??? Das kommt auf den Compiler und eventuell vorhandene LIB an. Bein XC8 findet sich die i2c.h unter ...xc8/v1.33/include/plib Die Beschreibung im Dokumentation in MPLAB_XC8_Peripheral_Libraries.pdf ...ist etwas Sucharbeit, aber: Unter <Devices> die PIC18F4550_Family den PIC18F2550 wählen, kommt man zu Kapitel 6.36.3, Doppelklick auf <klick here> weiter zu Kapitel 7.30....runterscollen zu den I2C Funktionen (7.30.6) und Doppelklick auf die 1. Funktion (OpenI2C)...dann landet man den Beschreibungen aller Funktionen u. Macros und am Ende des Kapitels 2 Beispiele für I2C_Master und I2C_Slave.
Chris B. schrieb: Wahrend Sie in villa abacho noch suchen > Bein XC8 findet sich die i2c.h unter ...xc8/v1.33/include/plib > Die Beschreibung im Dokumentation in MPLAB_XC8_Peripheral_Libraries.pdf > ...ist etwas Sucharbeit, aber: > Unter <Devices> die PIC18F4550_Family den PIC18F2550 wählen, kommt man > zu Kapitel 6.36.3, Doppelklick auf <klick here> weiter zu Kapitel > 7.30....runterscollen zu den I2C Funktionen (7.30.6) und Doppelklick auf > die 1. Funktion (OpenI2C)...dann landet man den Beschreibungen aller > Funktionen u. Macros und am Ende des Kapitels 2 Beispiele für I2C_Master > und I2C_Slave. Sind Sie in villa arriba schon am feiern http://www.mikroe.com/download/eng/documents/compilers/mikroc/pro/pic/help/i2c_library.htm
Herzlichen Beileid. Wenn eines echt bescheuert zum Implementieren ist, dann I2C. Warum die Leute das so lieben, werde ich nie verstehen. Abkürzugen gibts aber schon: Möglichkeit 1: Schau bei Microchip, ob die nicht eine Referenzimplementierung für den Chip haben. Haben sie oft. Sehr praktisch :-) Möglichkeit 2: http://www.microchip.com/CodeExamplesByFunc.aspx Vielleicht ist hier was dabei. Ein Beispiel für I2C wirds vermutlich geben. Möglichkeit 3: Der Code im Anhang ist für PIC24. Ich habe den da geklaut: http://www.engscope.com/pic24-tutorial/ Da ist auch Dokumentation dabei. Dazu muss ich sagen, der Code ist furchtbar unelegant, mit __delay und ähnlichem Mist - schrecklich. Aber es ist I2C und daher kompliziert und zickig. Ohne Not fass ich das nicht an. Das wirst du portieren müssen. Ich habe das z.B. für PIC32 gemacht und hatte keine allzu großen Schwierigkeiten dabei. Ein paar Sachen wird man halt anpassen müssen, wie das __delay und ein paar Register. Den Kram für deinen IC musst du selber schreiben, aber mit den Funktionen ist das nicht mehr so schwierig. Einfach die Diagramme im Datenblatt abtippen. Hab noch die Funktion für einen PCF8574 dazugehängt. Als Beispiel.
Vielen Dank für die vielen Ratschläge. Ich werde sie am Montag gleich mal testen. Ich habe eben nicht die riesen Ahnung um irgendwelche leicht andere codes anzupassen. Daher wäre mir ein Code speziel für den 18F2550 und den MCP4728 am liebsten. Vielleicht findet ja Jemand noch etwas. Nochmals Danke und ich melde mich wieder.
Hallo Zusammen, ich benutze den C18 Compliler und MLAB. Hat noch keiner bei einem 18F2550 den I2C BUS zum laufen gebracht. Ich bräuchte alle Routinen, damit ich sie 1:1 übernehmen kann. Und ein "write" Beispiel um Daten zu dem DAC (z.B.) MCP4728 runter zu schreiben. Im Voraus Danke
Dirk GP schrieb: > Ich habe eben nicht die riesen Ahnung um irgendwelche leicht andere > codes anzupassen. Gerade die Implementierung von I2C auf einem PIC ist wunderbar, um sich das nötige anzueigenen.
Vielen Dank. Ich suche aber immer noch einen C-code für die implementierung von I2C auf den PIC 18F2550. Bitte um Hilfe.
Du bekommst alle Informationen hier. Es handelt sich um die "MPLAB® C18 C COMPILER LIBRARIES Dokumentation http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCAQFjAA&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2FMPLAB_C18_Libraries_51297f.pdf&ei=qJ79VOqHOOmc7AajnYG4DQ&usg=AFQjCNGwh6e-oqBjRp2KMfZK-qXD3FNnCA&bvm=bv.87611401,d.ZGU Unter Chapter 2 findest Du die Info fuer die Implementation der fertigen I2C-Hardwarefunktionen In Chapter 3 werden auch Funktionen beschrieben fuer Pics ohne I2C-Hardware
Vielen Dank, hat schon etwas geholfen. Hat Jemand ein C-code um speziell den MCp4728 über I2C zu schreiben ??
Dirk GP schrieb: > Vielen Dank, hat schon etwas geholfen. Hat Jemand ein C-code um speziell > den MCp4728 über I2C zu schreiben ?? Der eigentliche Code zum Lesen und Schreiben des MCP's ist ja schon durch den I2C-Librarycode gegeben. Das Ansprechen der Register und die Reihenfolge der zu sendeten Bytes must Du selbst aus dem Datenblatt entnehmen.Beispiele sind ja angegeben. Du hast dir nicht den allereinfachsten I2C-Schaltkreis ausgesucht,sollte aber keine unueberwindbare Huerde darstellen. Da Du dich selbst als Anfaenger bezeichnest,schlage ich Dir erstmal vor die Libraryfunktionen durchzuackern,verstehen wie sie funktionieren und ohne Kompilierungsfehler zum Laufen zu bringen. Die Libraryfunktionen sind uebrigens in einem Ordner innerhalb von C18 vergraben - inklusive sourcecodes. Hier das Datenblatt(das Du sicherlich schon hast!?) http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCYQFjAB&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F22187a.pdf&ei=7rH9VKu7BcnT7Abcj4CoDw&usg=AFQjCNHtIwS-q-kHNCCoqlA2IwApy0-UpQ&bvm=bv.87611401,d.ZGU
Hallo Zusammen, mein I2C läuft immer noch nicht. Also irgendwie bin ich schon von diesem Forum hier enttäuscht. Es hat sicherlich schon Jemand auf dem PICF2550 den I2C Bus in C und mit dem C18 Compiler implementiert, aber keiner kann die entsprechenden C-Codes mir geben. Ich weiß eben nicht wo und was ich genau in den Code schreiben muss damit es tut. Welche Standard *.h, *.c files ich vom C18 Compiler includen soll und welche (sicherlich wenige) Register ich wie einstellen muss. Wie ich die C18 Compiler *.c files (wie i2c_open.c, i2c_strt.c oder i2c_stop.c.) verwende usw. In den beiden i2c_strt.c und i2c_stop.c. steht z.B. das bei I2C_V1, das vorher im I2C.h definiert wurde für den PIC18F2550 nicht deifniert ist. Überall steht aber dass man diese braucht. Kann bitte einer mir eine Implementierungsvorgehensweise vom I2C BUs für den PIC18F2550 geben ?
Dirk GP schrieb: > Also irgendwie bin ich schon von diesem > Forum hier enttäuscht. Es hat sicherlich schon Jemand auf dem PICF2550 > den I2C Bus in C und mit dem C18 Compiler implementiert, aber keiner > kann die entsprechenden C-Codes mir geben. Vielleicht weil es nicht nur einen PIC18 gibt und/oder niemand damit deine DAC verwendet hat und weil der C18 seit 2 oder 3 Jahren durch den XC8 ersetzt wurde > Ich weiß eben nicht wo und > was ich genau in den Code schreiben muss damit es tut. Welche Standard > *.h, *.c files ich vom C18 Compiler includen soll und welche (sicherlich > wenige) Register ich wie einstellen muss. Also hast du dich mit dem PIC18F2550 und I2C Hardware noch gar nicht beschäftigt.....wie auch alle obigen Links ignoriert. > Wie ich die C18 Compiler *.c files (wie i2c_open.c, i2c_strt.c oder > i2c_stop.c.) verwende usw. Gar nicht, weil diese bereits in der entsprechenden "p18F2550.lib" enthalten sind und sich der Linker darum kümmert. Du brauchst nur die I2C.h einbinden und nach der oben verlinkten Dokumentation ""MPLAB® C18 C COMPILER LIBRARIES" zu halten. Dort sind sogar Minimalstbeispiele angeführt..... > In den beiden i2c_strt.c und i2c_stop.c. > steht z.B. das bei I2C_V1, das vorher im I2C.h definiert wurde für den > PIC18F2550 nicht deifniert ist. Überall steht aber dass man diese > braucht. ????? Ich kenne den 2550 nicht auswendig, aber wenn er nur 1 MSSP-Modul hat, dann gibt es auch kein I2C_V1, I2C_V2......Die Routine heissen dann z.B eben nur "StopI2C" und nicht "StopI2C1" usw.....
Ich mir die obigen Lilnks angeschaut, alle beschreiben Teile der I2C Funktion. Ich weiß ja gar nicht mal wie ich anfangen soll. Und was ich für einen PIC 18Fxx habe nicht unbedingt relevant wenn es um eine Grundstuktur geht. Ob seit 2 -3 Jahren andere PIC Controller verwendet werden ist nicht relevant. Ich habe auf meinem Rechner noch den Code von dem Motorola HC12 den ich vor 10 Jahren programmiert habe. Bitte nochmal an ALLE einen Aufruf, ob Jemand mir helfen kann.
Dirk GP schrieb: > was ich für einen > PIC 18Fxx habe nicht unbedingt relevant XC8 ist kein PIC sondern der aktuelle Compiler. Wenn du den installiert hast, dann findest du im Installationsverzeichnis den Unterordner docs mit u.a. MPLAB_XC8_Peripheral_Libraries.pdf, Doku und Besipiele zu den Peripherie Libs. Für C18 gibt es aber auch Doku mit Beispielen, was hindert dich daran sie zu lesen? http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_C18_Libraries_51297f.pdf PS Bevor du wieder enntäuscht bist, dass dir niemand die passende Seite aufgeschlagen hat und du dich alleine im Inhaltsverzeichnis nicht zurechtfindest, hier: Kap. 2.4.3 Example of Use, Page 34
:
Bearbeitet durch User
Dirk GP schrieb: > Also irgendwie bin ich schon von diesem > Forum hier enttäuscht. Das basiert auf Gegenseitigkeit. Du hast den Wagen (Pic18Fxxx) und den Zuendschluessel (Libs) Fahren musst Du halt schon selbst. http://www.microchip.com/forums/m87210.aspx
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.