hallo; ich komme aus der ATMEGA-Welt und bin Neuling mit PIC-Prozessoren. Kann mir jemand ein ganz einfaches Beispielprogramm für den PIC16F884 posten, in dem ein Zeichen über I2C auf einen LCD2004 ausgegeben wird ? Beim Arduino bindet man eine Bibliothek ein und dann ist das ganze eine Sache von wenigen Programm-Zeilen. Geht es so ähnlich einfach auch mit dem PC16F884 ? Vielen Dank
wo muss ich denn die config.h und die i2c.h hinkopieren damit das compilieren klappt ?
Michael S. schrieb: > wo muss ich denn die config.h und die i2c.h hinkopieren damit das > compilieren klappt ? OMG
was bedeutet "OMG" ? gehts ein bißchen genauer bitte ? also die config.h brauche ich ja wohl nicht, da ich meine eigene Configurationsbit-Definition im Programm habe. Wie bekomme ich jetzt aber die I2C-Bibliothek zum Laufen ?
:
Bearbeitet durch User
Michael S. schrieb: > was bedeutet "OMG" ? Ich zitiere hier mal aus 'Kingdom O Magic': "Finde es selbst heraus". W.S.
naja mit den Komödianten, die ihre Zeit damit verbringen, andere auf den Arm zu nehmen, muss man halt leben... Mir gelingt es nicht, die Bibliothek in mein Projekt einzubinden. Bestimmt ist es ganz einfach. Kann mir jemand sagen wie es geht ?
Michael S. schrieb: > ich komme aus der ATMEGA-Welt und bin Neuling mit PIC-Prozessoren. Das ist keine Schande. Allerdings kenne ich da ein Sprichwort: "Fallen is koa Sünd - aber lang liegen" Vielleicht würde es helfen, sich ein wenig mehr selbst zu bemühen. Zum Beispiel die Doku über den betreffenden PIC zu lesen. Die Unterlagen von Microchip sind im Allgemeinen sehr gut. > Kann mir jemand ein ganz einfaches Beispielprogramm für den PIC16F884 > posten, in dem ein Zeichen über I2C auf einen LCD2004 ausgegeben wird ? Naja, ich hatte neulich ein Projekt hier mal gepostet, zwar nicht mit einem 'LCD2004' (was ich nicht kenne), sondern mit einem Alpha-LCD 2x8 (von Pollin) und nicht mit einem PIC16F884, sondern mit einem PIC16F819. Und nicht per I2C, sondern im bekannten 4 Bit Modus. Guck einfach mal bei den Projekten. Vielleicht hilft's. Eventuell aber auch nicht. W.S.
Michael S. schrieb: > naja mit den Komödianten, die ihre Zeit damit verbringen, andere auf den > Arm zu nehmen, muss man halt leben... > > Mir gelingt es nicht, die Bibliothek in mein Projekt einzubinden. > Bestimmt ist es ganz einfach. Kann mir jemand sagen wie es geht ? Wie W.S. sagte: "Finde es selbst heraus" Wenn du nichtmal das selber hinbekommst, hast du eh' verloren. Denn das hat soweit ja noch nichtmal etwas mit dem Inhalt des Codes zu tun, sondern nur mit der Beherrschung des Werkzeugs...
habe die datei in libraries/properties eingebunden. ich bekomme diese Fehlermeldung beim kompilieren: ::: error: (894) unknown source file type "..\..\..\..\..\c-achtkern\i2c\I2C_LCD.X\I2C.h"
:
Bearbeitet durch User
Michael S. schrieb: > habe die datei in libraries/properties eingebunden. > ich bekomme diese Fehlermeldung beim kompilieren: > > ::: error: (894) unknown source file type > "..\..\..\..\..\c-achtkern\i2c\I2C_LCD.X\I2C.h" Und von was genau wird diese Fehlermeldung erzeugt?
Michael S. schrieb: > wenn ich komipliere Build auf den Hammer klicke Und erneut: OMG Du bist so rotzedoof, dass du nicht mal in der Lage bist, das Werkzeug zu benennen, welches du verwendest (nichtmal auf auf eindeutige und unmißverständliche explizite Anfrage)... Ja sogar so doof, dass dir nicht einmal klar ist, dass diese Nennung unverzichtbare Grundlage für jede ernsthafte Hilfe ist...
ach muss das Spaß machen in einem Forum jemanden anonym zu beleidigen. Wenn ich dir damit eine Freude mache... Ich hab jetzt die I2C.h in die Header-Files gebracht und die I2C.c in die Source-Files und den Eintrag aus den Libraries wieder rausgenommen. Jetzt bringt mir der Compiler nur noch Warnings: ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:30:: warning: (520) function "_I2C__RepeatedStart" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:42:: warning: (520) function "_I2C_ACK" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:49:: warning: (520) function "_I2C_NACK" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:65:: warning: (520) function "_I2C_Read_Byte" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:159:: warning: (520) function "_Backlight" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:165:: warning: (520) function "_noBacklight" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:171:: warning: (520) function "_LCD_SL" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:177:: warning: (520) function "_LCD_SR" is never called ../../../../../c-achtkern/i2c/I2C_LCD.X/I2C.c:183:: warning: (520) function "_LCD_Clear" is never called newmain.c:32:: warning: (1518) direct function call made with an incomplete prototype (I2C__Init) bin ich auf dem richtigen Weg ?
Michael S. schrieb: > wenn ich komipliere Build auf den Hammer klicke Du solltest schon den verwendeten Compiler benennen.
Der 8-Bit-Compiler, der standardmäßig in der MPLAB X IDE eingebunden ist. Leider kommt auf mein Display der Output nicht, nur ein leerer Schirm. Datenleitung ist doch Pin 23 und Clock der Pin 18 für I2C oder ? Die Adresse hab ich von 0x40 im Beispielprogramm auf 0x27 geändert, das ist die Adresse des LCD2004 die er im Arduino-Sketch hat. pfffff........
Michael S. schrieb: > Leider kommt auf mein Display der Output nicht, nur ein leerer Schirm Wenn ich mir den Mist anschaue, den du hier orientierungslos schreibst ... Dann passt das doch, dein Kopf ist doch auch leer!
Michael S. schrieb: > Der 8-Bit-Compiler, der standardmäßig in der MPLAB X IDE > eingebunden > ist. Den kenne ich nicht. > Leider kommt auf mein Display der Output nicht, nur ein leerer Schirm. > Datenleitung ist doch Pin 23 und Clock der Pin 18 für I2C oder ? Ja. > Die Adresse hab ich von 0x40 im Beispielprogramm auf 0x27 geändert, das > ist die Adresse des LCD2004 die er im Arduino-Sketch hat. Die richtet sich nach dem Interfacebaustein, dem der I2C nach parallel übersetzt.
Apollo M. schrieb: > Michael S. schrieb: >> Leider kommt auf mein Display der Output nicht, nur ein leerer Schirm > > Wenn ich mir den Mist anschaue, den du hier orientierungslos schreibst Beitrag "PIC16F884 seltsamer Effekt" Beitrag "PIC16F884 interner Oszillator" Beitrag "PIC16F884 Anfängerfragen" Beitrag "PIC16F84A - could not detect target voltage VDD" Beitrag "PIC16F84A Programm läuft nicht" Beitrag "PIC-Prozessor programmieren" ....
Der Compiler heisst XC8 von Microchip. Ich hab jetzt mal eine blinkende LED eingebaut, um zu sehen, ob das Programm überhaupt etwas macht. Effekte: 1. allein das Einbinden von #include "I2C.h" bewirkt, dass die Blinkfrequenz dreimal so lang wird, also die LED blinkt wesentlich langsamer. 2. Einbinden von I2C__Init() läßt das Verhalten unverändert. 3. Einbinden von LCD_Init(0x27) bewirkt, dass die LED gar nicht mehr blinkt, sondern permanent leuchtet. Auf dem Display zeigt sich keinerlei Effekt. Das I2E-Interface-Modul heißt HD44780. Kann sich das jemand erklären ?
:
Bearbeitet durch User
Ich hab jetzt mal eine blinkende LED eingebaut, um zu sehen, ob das Programm überhaupt etwas macht. Effekte: 1. allein das Einbinden von #include "I2C.h" bewirkt, dass die Blinkfrequenz dreimal so lang wird, also die LED blinkt wesentlich langsamer. 2. Einbinden von I2C__Init() läßt das Verhalten unverändert. 3. Einbinden von LCD_Init(0x27) bewirkt, dass die LED gar nicht mehr blinkt, sondern permanent leuchtet. Auf dem Display zeigt sich keinerlei Effekt. Das I2E-Interface-Modul heißt HD44780. Kann sich das jemand erklären ?
Der x8 ist nicht standardmässig in mplabx integriert, zuerst mplabx installieren, dann erst x8 installieren.
Michael S. schrieb: > Kann sich das jemand erklären ? Ich sehe hier sehr großes Potential bei Dir beim Arduino zu bleiben. DAS Programm - aber wir wissen nicht welches EINE led eingebaut, wir wissen aber nicht wo Und das schlimme ist das Du über Dein Projekt kaum mehr zu wissen scheinst als wir. Also das Programm tut nun an irgendeinem Pin irgendwas anderes in irgendeinem Testaufbau wenn Du irgendwas änderst. JA, das wird ganz sicher irgendeinen Grund haben. Ah, DIE I2C__Init() .... Klar, den Code kennt ja jeder, weil es nur diese eine gibt...
Michael S. schrieb: > Das I2E-Interface-Modul heißt HD44780. Nö, das ist für HD44780. Gängig ist z.B. der PCF8574, den es allerdings in verschiedenen Versionen gibt, und jede Version kann auf 8 verschiedene I2C-Adressen konfiguriert werden.
Die I2C-Adresse ist doch im Chip des Bausteins verankert und immer gleich, egal ob ich den Baustein dann an einen Atmel oder einen PIC anschließe, oder ? Auch wenn meine Fragen vielleicht extrem anfängermäßig sind und einige sich dann provoziert fühlen, mit Beleidigungen zu reagieren (anstatt einfach die Finger ruhig zu halten) bringen mich viele Antworten doch prima weiter, und wenn ich nur dadurch angeregt werde, an welchen Punkten ich autodidaktisch weiterarbeiten muß.
Michael S. schrieb: > und wenn ich nur dadurch angeregt werde, an welchen > Punkten ich autodidaktisch weiterarbeiten muß. Leider nicht. In keinster weise, ist davon auch nur das Geringste zu merken. Im Gegenteil, du scheinst dazu überhaupt keine Lust zu haben und lässt dir alles vorkauen.
hallo Teo D,. wieso macht es dir eigentlich Spaß auf mir rumzuhacken anstatt meine Frage zu beantworten ? Hast du so viel Zeit und nichts Besseres zu tun ? Oder hast du Minderwertigkeitskomplexe ?
Michael S. schrieb: > hallo Teo D,. > wieso macht es dir eigentlich Spaß auf mir rumzuhacken anstatt meine > Frage zu beantworten ? Hast du so viel Zeit und nichts Besseres zu tun ? > Oder hast du Minderwertigkeitskomplexe ? Du hast gefragt, ich hab geantwortet. Das Andere sind nur hinweise für deine Helfer, dass sie sich hier auf eine Sisyphos Arbeit einlassen.....
Du hast nicht geantwortet. Die Antwort lautet "ja, ist gleich" oder "nein, ist nicht gleich". Soll ich dir einen guten Therapeuten empfehlen ?
Michael S. schrieb: > Du hast nicht geantwortet. Die Antwort lautet "ja, ist gleich" oder > "nein, ist nicht gleich". Soll ich dir einen guten Therapeuten empfehlen > ? Häää Dein Frage war: Michael S. schrieb: > hallo Teo D,. > wieso macht es dir eigentlich Spaß auf mir rumzuhacken anstatt meine > Frage zu beantworten ? Hast du so viel Zeit und nichts Besseres zu tun ? > Oder hast du Minderwertigkeitskomplexe ? Hopfen und Malz!
Die I2C-Adresse ist doch im Chip des Bausteins verankert und immer gleich, egal ob ich den Baustein dann an einen Atmel oder einen PIC anschließe, oder ? oder anders gefragt: wenn mein Display in der Arduino IDE mit der I2C-Adresse "0x27" läuft, muss ich dann im C-Programm für den PIC auch "0x27" eintragen, oder kann es sein, dass es dort z.B. "0x40" heißen muß ? (Bitte keine Spitzfindigkeiten oder Beleidigungen mehr, das ermüdet. Bitte bitte doch einfach nur diese einfache Frage beantworten)
:
Bearbeitet durch User
Ja , aber auch abhängig von den 3 Adressleitungen wodurch 8 verschiedene Adressen möglich sind, bei zwei Typen (mit oder ohne "A") sogar 16. Wenn es mit 27 funktioniert bleibt die natürlich bestehen solange nichts üngelötet wird. Es liegt jedoch am Code ob der die in der 7bit Scheibweise (0x27) oder sie in 8 bit (0x4E) benötigt.
:
Bearbeitet durch User
danke pluto25. das war mir bisher gar nicht bekannt dass es da zwei verschiedene Schreibweisen gibt. danke für die sachliche und präzise Antwort.
Michael S. schrieb: > Du hast nicht geantwortet. Die Antwort lautet "ja, ist gleich" oder > "nein, ist nicht gleich". Soll ich dir einen guten Therapeuten empfehlen Also mal ein Wort der Erklärung: Dieses Forum ist kein Cola-Automat, wo man ne Münze reinsteckt und die gewünschte Flasche Cola unten heraus kommt. Abgesehen davon scheint mir das obige Zitat weitaus wichtiger zu sein, als es anfangs schien. Also: finde es SELBST heraus. Und dazu ist es durchaus hilfreich, sich Sachkenntnisse anzueignen, z.B. durch das verstehende Lesen von Dokumenten zu dem Zeug, was du da zu verbauen trachtest. Bislang hast du nur sowas von dir gegeben: Michael S. schrieb: > 2. Einbinden von ... > 3. Einbinden von ... usw. Stattdessen wäre es sinnvoller, etwas zu den Inhalten zu lernen. Also wie man etwas wo anschließt, wie der Signalfluß geht, was für Kommandos in welcher Reihenfolge wohin zu schicken sind usw. Tja, etwas zu können bedeutet zumeist, selbigs zuvor erlernt zu haben und nicht bloß zu schreien "man mache mir das!" W.S.
hallo Anonymer W.S. (Gast); du brauchst mir nicht vorschreiben, wie ich dieses Forum zu nutzen habe. Wenn du eine meiner Fragen nicht beantworten willst, lass doch einfach die Finger von der Tastatur. Wenn du den Wunsch hast anderen anonym etwas vorzuschreiben oder Minderwertigkeitskomplexe hast, gilt für dich mein gleiches Angebot wie an Teo D., dir einen guten Therapeuten zu vermitteln.
Als mein Hund noch klein war, schnappte er nach mir, nur weil ich nicht mit ihm spielen mochte.
Ist es denn so schwer, die Finger von der Tastatur zu lassen, wenn man gar nicht sachlich auf das Thema eingehen möchte ?
Michael S. schrieb: > Ist es denn so schwer, die Finger von der Tastatur zu lassen, wenn man > gar nicht sachlich auf das Thema eingehen möchte ? Ja, es ist schwer. Eine Zurechtweisung drängt sich geradezu auf, so wie bei Kindern, welche schreiend Süssigkeiten fordern.
Beitrag #7243635 wurde von einem Moderator gelöscht.
Bitte erspar mir dein unqualifiziertes Gelaber und antworte bitte auf meinen anderen Thread bezüglich der Compiler-Frage (wenn du die Antwort weißt) oder halt dich einfach von meinen Threads fern.
>das war mir bisher gar nicht bekannt dass es da zwei verschiedene Schreibweisen
gibt
Gibt es auch nicht. Die Spezifikation definiert eine 7-bit Adresse und
das R/W-Bit. Solange die "Kreativen" mit ihren 8-bit Adressen dies nicht
kennzeichnen, führt das manchmal zum Rätseln und Nachrecherchieren.
Michael S. schrieb: > unqualifiziertes Gelaber So, ich denke Du hast jetzt alle beleidigt die Dir hätten helfen können und wollen. Deine Performance in diesem Thread war ja nun absolut unterirdisch und das hat sich ja auch von Anfang bis Ende konsequent so durchgezogen. Du hast ein dutzend Hinweise bekommen was DU erstmal tun must damit man Dir helfen kann und auch DU DIR SELBER helfen kannst. Nichts davon hat Deine Großhirnrinde erreicht und ich hör nur Dauergenöle von Dir das Mutti Dir nicht unter die Arme greift. Deswegen hat auch niemand mehr Lust auf Dein > unqualifiziertes Gelaber
"Der artgerechte Umgang mit PICs will halt gelernt sein. Da kann nicht jeder mit uemm. Beim Vorliegen einer "imbecillitas intellectus" werden auch schon mal nur Hexfiles angeboten." wenn das mal kein Gelaber ist
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.