Hallo, ich habe mal eine Frage. Ich habe meinen PIC mit einer Oszillatorschaltung versehen um ihn extern zu takten. Weiter habe ich einen Timer laufen. Der Timer soll eine bestimmte Zeit hochzählen. z.B. 1s Jetzt sollte man meinen, dass bei einem 8bit Timer mit Vorteiler=2 und einem Oszillator 20MHz folgende Rechnung stimmt. t= Interrups Vorteiler Systemtakt * Timerregister 1s ~ 39062 2 (1/20MHz) * 2^8 Jetzt spiet aber irgendwo noch ein zusätzlicher Vorteiler=4 eine Rolle. Ich verstehe nicht ganz wo der herkommt und finde es nicht im Datenblatt. Danke, Basti
Gast
#2571926
Mit Systemtakt ist bei PICs meist fcy gemeint. Dies ist die Frequenz, mit der Befehle verarbeitet werden. PIC16F und PIC18F benötigen 4 Oszillatortakte je Befehl, daher dein Vorteiler durch 4.
Danke
Für's Protokoll: Für den PIC 18F2550 Data Sheet, p. 380 TCY (Instruction Cycle Time) = FOSC/4
Gast
#2572038
>AVRs sind Eintakter, also Turbinen. Nur mit dem richtigen Optimizer. Wenn ein dröger Compiler einen PIC Befehlt durch ein LD, ein ADD und ein ST ersetzt, braucht der der AVR 5 Takte. Ohne die Arbeit der GCC Entwickler wäre die prähistorische PIC Architektur schneller.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
