Hallo, Beim Programmieren fällt mir auf, dass sich der delay größer wird wenn ich die Frequenz größer einstelle obwohl beides mal die angegeben Anzahl an ms abgewartet werden sollte. Welche Einstellungen muss man treffen um einen richtigen delay zu erhalten. Benutze PIC16F1939. Angegen ist ein breites Spektrum an Frequenzen.
_XTAL_FREQ stell gar nichts ein! Damit sagst du dem Compiler lediglich was du für einen internen Oszillatortakt eingestellt, bzw. was du für einen externen Oszillator/Quarz/Resonator angeschlossen hast. Aufgrund deiner "korrekten" Angabe kann dann der Compiler dann die erforderlichen Zählschleifen für die im Code aufgerufenen _delay... Makros berechnen.
Danke für die Antwort. Aber wie mache ich das ohne Fehler zu erhalten? Ich kann das Programm nicht auf den PIC-Controller pressen wenn keine _XTAL_FREQ eingestellt ist.
Max M. schrieb: > Danke für die Antwort. Aber wie mache ich das ohne Fehler zu erhalten? > Ich kann das Programm nicht auf den PIC-Controller pressen wenn keine > _XTAL_FREQ eingestellt ist. Hää... Was ist "das" und "Programm pressen"?-O Geh mal in dich und formuliere zumindest irgend was verständliches! Max M. schrieb: > Welche Einstellungen muss man treffen um > einen richtigen delay zu erhalten. _XTAL_FREQ einen korrekten Wert geben. Also die Frequenz mit der der µC arbeitet. 100% genau wird __delay_xy(fu) aber nie, ist immer nur so ungefähr die eingestellte Zeit.
Max M. schrieb: > Aber wie mache ich das ohne Fehler zu erhalten? Max M. schrieb: > Angegen ist ein > breites Spektrum an Frequenzen. Falls du noch gar keine eingestellt hast, dann mach das mal zuerst. Danach kannst du deine Einstellung mittels dem _XTAL_FREQ Makro dem Compiler übermitteln.
Max M. schrieb: > Ich kann das Programm nicht auf den PIC-Controller pressen wenn keine > _XTAL_FREQ eingestellt ist. Deshalb sollst du _XTAL_FREQ auf den Wert setzen, mit der dein µC läuft.
> Hää... Was ist "das" und "Programm pressen"?-O > > Geh mal in dich und formuliere zumindest irgend was verständliches! > _XTAL_FREQ einen korrekten Wert geben. Also die Frequenz mit der der µC > arbeitet. > 100% genau wird __delay_xy(fu) aber nie, ist immer nur so ungefähr die > eingestellte Zeit. Ich meinte, damit dass ich von MPLAB ein Fehlermeldung bekomme und das Programm nicht auf den MCU laden kann, wenn keine _XTAL_FREQ eingestellt ist
Wolfgang schrieb: > Max M. schrieb: >> Ich kann das Programm nicht auf den PIC-Controller pressen wenn keine >> _XTAL_FREQ eingestellt ist. > > Deshalb sollst du _XTAL_FREQ auf den Wert setzen, mit der dein µC läuft. Welchen Wert muss ich dafür einstellen? Keine der im Datenblatt angegebenen Frequenzen führt zu einem vernünftigen Delay.
Guggschd du: 5.6 Register Definitions: Oscillator Control ... 0111 = xxx xHz xF (default upon Reset) Da kann man sehen, man was eingestellt ist solange man selber nicht dazu in der Lage ist, es nach seinen Wünschen zu ändern...
Max M. schrieb: > Welchen Wert muss ich dafür einstellen? Keine der im Datenblatt > angegebenen Frequenzen führt zu einem vernünftigen Delay. Du musst nicht ins Datenblatt, sondern auf deine Platine gucken.
Wolfgang schrieb: > Du musst nicht ins Datenblatt, sondern auf deine Platine gucken. Steht auf der Platine wie der interne Oszillator eingestellt 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.