MPLAB delay und xtalfreq richtig benutzen

OP (Firma: FOS FFB) #5836346
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.
Angehängte Dateien:
_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.
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.
OP (Firma: FOS FFB)
> 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
OP (Firma: FOS FFB)
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.
Angehängte Dateien:
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.