Hallo,
ich wollte die Taktfrequenz am PIC 18F25K22 und 18F45K22
mit Oszilloskop messen, laut User Guide müsste
an den genannten PIC dieses an den Port RA6 oder RA7 was Anschlußpin
9 und 10 ist zu messen sein. Es wird der Interne Oszillator im 2 und 4 MHz Berereich
verwendet. Der Aufbau der Hard und Software läuft wie gedacht. Das würde ja ohne Tackt nicht laufen.
Bei einem 16F877A mit Quartz zb 8MHz Takt kann ich am Quartz
eindeutig die Schwingungen messen.
Noch was zu meinem Post
ich kann an den genannten Pins RA6 RA7 nichts messen, was mach ich
Falsch?
Hallo
Verstehe jetzt nicht deine Frage. Du schliesst einen Quarz an und misst
die Frequenz des Quarzes. Ist ja auch richtig. Du schliesst keinen Quarz an und
misst nichts. Ist ja auch richtig. An den Ports wird halt ein Quarz angeschlossen.
Und wenn du auf internen Quarz stellst brauchst du keinen externen Quarz.
Warum sollte nun auf dem Ports wo der Quarz hin gehört eine Frequenz zu messen sein ?
Um welchen Pic geht es eigentlich ?
Vielleicht mal beschreiben was du machen willst. Ausgabe kann man mit dem PWM Modul des
Pics machen. Das wäre zum Beispiel eine Lösung.
Hallo,
meine Frage an den PIC 18F25K22 und 18F45K22 kann ich die Taktfrequenz
nicht messen obwohl die Schaltungen mit den 18F.... Hard und Software
funktionieren. Bei den 18F.... benutze ich die Internen Oszillatoren.
Ohne Taktfrequenz würden die Schaltungen ja nicht funktionieren.
Das mit dem Quartz an dem PIC 16F877A habe ich hier nur mit reingebracht
um zu Zeigen das ich in der Lage bin die Frequenz zu messen.
Danke euch
Aha jetzt verstehe ich.
Hast du denn die Fuse Bit so eingestellt das der Takt
an OSC2 raus kommt ?
Oh ich wußte gar nicht wenn man den Internen Oszillator
configuriert das man dann auch bestimmen kann das das
Singnal an OSC 2 rauskommt.
Da muß ich mal sehen oder versuchen wie das geht und wie man
das macht.
Danke
Meisstens kann man die Fuses im Compiler direkt setzten.
Kommt auf den Compiler an. Bei mir sieht das dann
so aus:
Danke ich benutze den XC8 Compiler die Free version, und vers. 2.30
Ich dachte das muß man am Anfang des Programms deklarieren.
und dann in der main Aufrufen.
Irgendwie weis ich nicht so recht wo ich ansetzen soll.
Du könntest doch den internen Takt deines µCs ohne Vor- oder sonstige Teiler durchreichen lassen auf einen Port. Im Programm richtest du eine Schleife aus vielen "nop's" ein, was mit der Kopierfunktion ja keine Mühe ist. Zwecks der Motivation wird am Ende der Schleife eine LED getoggelt - das kommt immer gut, und schon kannst du dem PIC bei seiner taktvollen Arbeit zusehen. Is klar: der "echte" Takt geteilt durch 4!
Grüße, picass
Zitat von: Peter in 11.04.2022, 19:49:28 CESTMeisstens kann man die Fuses im Compiler direkt setzten.
Kommt auf den Compiler an.
In der MPLABX IDE macht man das über einen Dialog den man z.B. über das Menü
Production -> Set Configuration Bits aufruft
Gleich in der Obersten Zeile des Dialogs wählst du unter Option aus:
INTIO7 (Internal oscillator block, CLKOUT function on OSC2)Dann klickst du unten auf den Button
Generate Source Code...., kopierst den und fügst ihn in eine Source Code Datei ein.
Alternativ kann man auch auf das unterste Symbol
Insert Source Code.... an der linken Seite klicken.
Danke für eure Hilfe.
Es Handelt sich um ein fertiges C Programm für das 44 Pin Demo Board mit PIC 18F45K22 Programm hier im Anhang.
Mit diesem fertigen Programm habe ich Versuchsweise änderungen zum besseren Verständnis vorgenommen, und weil dann bei den Versuchen
Probleme auftraten ob wohl sich meine änderungen Compelieren ließen,
aber Trotzdem auf der Hardware nicht liefen, wollte ich zur Fehlersuche als erstes sehen ob der Takt Oszillator schwingt.Herbert_45.zip
Wenn ich unter Set Config bits dieses
INTIO7 (Internal oscillator block, CLKOUT function on OSC2
aufrufe und dann auf Generate Source Code klicke.
Dann wird ja alles was da steht Generiert. Wenn ich dann die genannte
Zeile, markiere und dann in die main Einfüge lässt sich das nicht Compelieren.
Muß man noch was in den OSCON bits ändern ?
Oder muß man für das Programm nochmals die Gesamten Config neu
Einstellen. Und diese dann in die main Einfügen.
Ich bitte um Verständnis zu meinen Fragen und Erklärungen weil diese
für euch Profis wohl Unverständlich usw. ankommen.
Wenn möglich und die Zeit es zuläßt bitte eine Stück für Stück Anleitung
wie ich wo und wie und was Anklicken muß um mein Ziel zu erreichen.
Ja Volker in deinem Skript steht es ja auch zu Oszillatoren wie setzen
und mehr. Aber trotzdem Haut das bei mir nicht hin warum auch immer.
Danke euch für die Hilfe
Herbert_45.zip
Hat es sich denn vor dem Ergänzen der Zeile compileren lassen?
Warum nur die eine Zeile? (IMMER ALLE Bits spezifizieren)
Was für eine Fehlermeldung kam?
Bei mir kam zuerst auch eine Meldung beim Öffnen deines Projektes (Fenster Configuration loading Error)
------------------------------------------------------------------------------------------------------
Error occurred on opening project: Herbert_45
+ Configuration "default" load error: PIC18F-K_DFP 1.1.58 is used in the configuration and it is not installed
Resolution: Click on the below link to resolve the same version of DFP
Resolve DFP for configuration: default
------------------------------------------------------------------------------------------------------
und dann auch noch eine entsprechende Meldung beim Versuch das Projekt zu compilieren (Fenster Clean, Build...).
Die ging aber weg, nachdem ich in in den Project Properties vorhandene PIC18F-K_DFP und Compiler Versionen ausgewählt habe.
Hallo Volker,
ja es hat sich das Original wie im ZIP Anhang aufgeführt Compelieren
lassen aber auch nur mit den Compiler versionen unter 2.0
ich habe es mit XC 8 vers.1.34 u. MPLAB X IDE vers. 5.45 Compeliert.
Und es funktioniert Hard u. Software mäßig.
Dann habe ich nochmal alles gemacht wie du es mir im Vorrigen Post
erklärt hast.
Und zwar habe ich die erste Zeile #Pragma Config FOSC = INTI067
entfernt und mit der Zeile #Pragma Config FOSC = INTI07 ersetzt
und siehe da an CLKOUT OSC2 Anschlußpin 31 die Taktfrequenz messen.
Warum das zuvor alles nicht geklappt ist mir ein Rätzel. Ich
vermute das es an der XC8 Compeler version lag.
Das Programm für ADC hatte ich damals von dir bekommen für das 44Pin Demo Board. Da waren ja die nötigen Configs schon dabei deshalb habe ich
nur nach der Generate die 1. Zeile im Prog. Ersetzt.
Noch eine Frage zu den XC 8 Compiler ich habe die Compiler versionen. 1.34, 1.45 , 2.30 und 2.31 MPLABX IDE auf meinem Rechner Installiert.
in MPLAB X kann ich aber nur die vers. 2.30 und 2.31 aufrufen und die anderen beiden sind Gegraut und lassen sich nicht aufrufen. Es war mal so das man alle Installierten Compiler aufrufen konnte. Das ist bei Versuchen Nervig weil man um an die Ausgegrauten Compiler zu kommen immer Neues Projekt Anlegen muß. Gibt es da lösungen oder Einstellungen das man
die Compiler vers. ändern kann?
Frage 2 zu den Configs. im Menü Generate sind ja soviele Aufgeführt muß
man die Configs die man nicht braucht immer Aus schalten.
Ich habe schon Programme gesehen wo viele Configs aufgeführt sind.
wie Config.1 Config 2...... und so weiter.
Danke für die Hilfe