Hallo Jens
Zu deinem Problem, da habe ich ein paar Ideen/Vermutungen und auch eine
Lösung.
Das Problem bei Quarzen mit einer hohen Frequenz ist, dass sie..
a) ...zum Einschwingen länger brauchen (also startup-time erhöhen)
b) ...mit einer Freqzenz >20MHz sind oft Oberwellen Quarze, die sehr
leicht auch mit ihrer niedrigeren Grundfrequenz oszillieren.
Wenn der PIC mit den 10MHz Quarz funktioniert und du ihn mit maximaler
Geschwindigkeit betreiben willst, dann habe ich gute News für dich.
Guck dir das Datenblatt an und suche nach HS/PLL Oszillator betrieb.
http://ww1.microchip.com/downloads/en/DeviceDoc/39564c.pdf
Dieser PIC den du verwendest unterstützt PLL, was do viel heißt, dass
deine Oszillatorfrequenz intern verfierfacht wird. Natürlich geschieht
dies nicht von alleine sondern der PLL muss erst aktiviert werden.
Dann kannst du auch mit deinem 10MHz Quarz deinen PIC mit 40MHz
Grundfrequentz betreiben.
Bedenke anber, dass dein Instruction Cycle immer Grundfrequenz/4 ist
(bei PIC12/16/18/24), aber ich denke das ist sowieso bekannt ;)
Achja ein Problem könnte ja natürlich auch sein, dass du deinen PIC mit
20MHz Quarz betreibst und den PLL auch noch dazu verwendest => 4*20 =
80MHz und das ist zu viel für den Chip.
Schau dir mal deine Oszillatoreinstellungen genauer an und beachte das
Datenblatt.
Halte uns up-2-date was wirklich das Problem war und auch ob es mit dem
10MHz Oszillator und PLL mit max Speed funktioniert.
LG. Stefan