Hallo,

Het lijkt alsof er iets scheelt met de interne snelheid van mijn pic18F1330.

Hoe ziet de opstelling eruit:
- PIC18F1330 met 100n over de voedingspinnen.
- 40MHz Xtal + 18pf condensators
- Led op poortB.6

code
[code=c
]void main() {
trisa = 0b11111111;
trisb = 0b10111111;

while(1)
{
portb.B6 = ~portb.B6;
delay_ms(50);
}
}[/code]

Nu zou je denken dat de frequentie waarmee de led pinkt 10Hz is, maar deze is maar +-3Hz. Ik werk met de mikroC compiler. Ik heb ook de uart al eens getest, het SPBRG register ingesteld op 64, maar ook dan krijg ik een verkeerde timing.
Heeft iemand een ingeving aan wat dit kan liggen ?
Alvast bedankt,
Dries

EDIT: ook al xtal van 20MHz geprobeerd en dan in de compiler ingesteld dat ik 20MHz gebruik, maar zelfde probleem. Voordien werkte ik met de 16F reeks, en nooit soortgelijke problemen gehad :(

zo:

http://www.uploadarchief.net/files/download/configbits.jpg

oscillator mode staat op HS

Alvast bedankt.

Ik heb nooit een 40MHz crystal aan een pic gehangen, maar als ik in de datasheet kijk lijkt dat ook niet te mogen.
Ik zie op pagina 278 dat voor de HS oscillator configuratie het crystal moet voldoen aan: 4MHz < Fosc < 20MHz.

Heb je toevallig een 10MHz crystal liggen? Probeer dat eens met PLL enabled. Kom je ook aan je 40MHz clock.

Hmm dat moet ik dan verkeerd begrepen hebben, dacht dat 40MHz xtal maximum was. Heb er hier wel van 10MHz liggen dus dat zal ik morgenvroeg eens proberen.
Alvast bedankt en ik hou jullie op de hoogte.

Stomme ingeving..
Wat is de MCU Clock instelling bij je project settings?

Als ik me niet vergis is de Delay_ms() daar afhankelijk van, maar ik kan er compleet naast zitten.

Standaard staat die op 8 Mhz, als je dan n xtal van 40 gebruikt zou je dan wel 2Hz moeten krijgen.. hmm..

Alst geen verschil maakt, ignore all of the above :+

[Bericht gewijzigd door ScuD op (23%)]

De MCU stond juist. Heb het nu met 10MHz xtal gedaan en dit lukt wel.

Ik had mij gewoon vergist, ik dacht dat 40MHz het maximum xtal was dat je er kon aanhangen, maar dit is dus de maximum frequentie met een externe klokinput volgens mij.

Maximale externe clock of kristal is 20MHz. Staat duidelijk in de "Electrical Characteristics"

Boven pakweg 30MHz werken de meeste kristallen op de 3e (of 5e) overtone, maar daar heb je dan wel een geschikte oscillator voor nodig. De standaard Pierce oscillator in een µC is dat niet en het kristal zal dan ook op de grondfrequentie gaan werken. Dit verklaart waarom je maar 1/3 van de verwachtte frequentie zag.

- Rob.

Heb het even opgezocht : http://en.wikipedia.org/wiki/Crystal_oscillator en ik begrijp je uitleg nu.
Bedankt want dit wist ik nog niet !