Hallo, ich habe zum Schaltungstest ein kleines Programm geschrieben, dieses soll Port-B an Port-C weiterreichen und an Port-A eine Konstante ausgeben. #include <p18f458.h> #pragma config OSC = HS, WDT = OFF, LVP = OFF #define test 0b11110000 void main(void) { TRISC = 0; // Port C Ausgang TRISA = 0; // Port A Ausgang LATA = test; while(1) { LATC = PORTB; } } Der Controller ist ein PIC18F458-I/P, hier weiss ich nicht ob ich vielleicht eine andere Headerdatei brauche?
Welchen Compiler verwendest Du? Warum glaubst Du, dass Du eine andere Datei verwenden musst? Z.T. gibt es auch allgemeine Include-Dateien, in welchen dann der korrekte Controller automatisch ausgewählt wird (über ein Symbol, das von MPLAB definiert wird).
Also ich benutzte MPLAP und C18, allerdings bringe ich die fertige Hex-Datei am Ende manuell mit IC-Prog auf den Controller.
Pascal wrote:
> Also ich benutzte MPLAP
MPLAB , nicht MPLAP, hat nichts mit Lap-Dance zu tun ;-)
Und was soll jetzt mit der Include-Datei falsch sein?
Ich weiss nicht obs die richtige ist, wegen dem ...-I/P. Mein Problem ist das ich nicht weiss warum es nicht das macht was im Code steht, wenn ich die Werte der Schaltung messe erscheint mir alles richtig zu sein, nur der Controller gibt kein Ton von sich. Der durchgeschaltete Port funktioniert nicht, ok da könnte was von der Schaltung her falsch sein, was ich aber nicht glaube. Die Konstante müsste aber auf jedefall funktionieren, tut sie aber nicht. ;)
@Pascal: und wo liegt nun genau dein Problem? Bekommst du das nicht compiliert? Oder zeigt dir der Controller an PORTC nichts an? - was mich allerdings auch nicht wundern würde.... Rudi
>"...-I/P".
bedeutet, soweit ich das noch in Erinnerung habe, nichts anderes als
'I=Industriebereich, sprich Temperaturbereich und P=Plastik-Gehäuse'
nein, die ausgewählte Header-Datei ist richtig
> was ich aber nicht glaube.
Glauben ist in der E-Technik immer der falsche Ansatz.
Der Schaltplan kann ja nicht die Welt sein. Wie wärs mit posten?
Außerdem wurden vor langer Zeit Meßmittel erfunden. Ganz simpel wäre ein
Multimeter.
Schon mal ins Datenblatt geschaut, was -I/P bedeutet ?
Pascal wrote: > Ich weiss nicht obs die richtige ist, wegen dem ...-I/P. Passt schon, das I steht für Industrielle Ausführung (betr. Temperaturbereich), das P für ein Plastikgehäuse im DIL-Format. > Mein Problem ist das ich nicht weiss warum es nicht das macht was im > Code steht, wenn ich die Werte der Schaltung messe erscheint mir alles > richtig zu sein, nur der Controller gibt kein Ton von sich. Wo ist denn der Lautsprecher angeschlossen? Im Ernst: Welche Werte der Schaltung misst Du? > Der durchgeschaltete Port funktioniert nicht, ok da könnte was von der > Schaltung her falsch sein, was ich aber nicht glaube. > Die Konstante müsste aber auf jedefall funktionieren, tut sie aber > nicht. ;) Hast Du das Ding mal im Simulator versucht? Ein häufiges Problem ist oft auch der Oszillator. Schau auch mal bei http://www.sprut.de/electronic/pic/fallen/fallen.html Wie sieht Deine Schaltung aus (Schema, ev. Foto)?
@was-willst-du: Was ich will steht da. Wie ich bereitssagte ist die Beschaltung nicht mein Problem, das habe ich schon gemessen mit einem Multimeter man mag es kaum glauben. Hier Skizze vom Schaltplan
Es fehlen: - Der Oszillator - zwischen 5V und GND, also Pin 11-12 und 31-32 jeweils ein 100nF Kondensator Leider scheint dieser PIC keinen internen Oszillator zu haben.
Hm, das würde jedenfalls alles erklären. Ich bin davon ausgegangen das er einen internen Oszillator hat.
Pascal wrote: > Hm, das würde jedenfalls alles erklären. Ich bin davon ausgegangen das > er einen internen Oszillator hat. Selbst dann, Du müsstest ihn einschalten: #pragma config OSC = xxxxxx Und bevor Du dann feststellst, dass etwas mit RA0 nicht stimmt, solltest Du noch den obigen Link durchlesen.
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.