Hjälp med kristall
Hjälp med kristall
Har kollat igenom PICBAsic guiden och i första exemplet används en kristall på 4 Mhz, men om man ska göra andra byggen, hur räknar man ut värdet på kristallen då??
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Om du inte ska göra något som är tidskritiskt eller kräver någon speciell klockfrkevens i överigt så är det egentligen inget att bry sig om.
Så länge inte kristallens frekvens är högre än vad PIC'en klarar av så speler det oftast ingen större roll om du köp på en 4.0000 Mhz, en 4,9152 eller en 6 Mhz kristall.
Ska man använda UARTen (den seriella in/utgången) på PICen så måsta man dock veta vilken kistallfrekvens man använder och anpassa värdena i baudrate-registrena därefter så att man får rätt hastighet.
Men å andra sidan, har du använt UART'en i ett projekt med en 4 Mhz kristall så är ju det enklasta att använda en 4Mhz i nästa proijekt också. Varför byta om man inte behöver det?
Så länge inte kristallens frekvens är högre än vad PIC'en klarar av så speler det oftast ingen större roll om du köp på en 4.0000 Mhz, en 4,9152 eller en 6 Mhz kristall.
Ska man använda UARTen (den seriella in/utgången) på PICen så måsta man dock veta vilken kistallfrekvens man använder och anpassa värdena i baudrate-registrena därefter så att man får rätt hastighet.
Men å andra sidan, har du använt UART'en i ett projekt med en 4 Mhz kristall så är ju det enklasta att använda en 4Mhz i nästa proijekt också. Varför byta om man inte behöver det?
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Jo. Bygger du den först med 13 Mhz kristallen och ställer in fördröjningen lagom mellan lysdiodsblinkningrana så kommer bygget att fungera lika bra om du sedan stoppar i 20 Mhz kristallen.
Fast den kommer att blinka nästan dubbelt så snabbt förståss :-)
Ska man bygga något som är batteridrivet så är det bra att ha en så långsam kristall som möjligt eftersom PICen drar mer ström desto snabbare kristall man har.
Fast den kommer att blinka nästan dubbelt så snabbt förståss :-)
Ska man bygga något som är batteridrivet så är det bra att ha en så långsam kristall som möjligt eftersom PICen drar mer ström desto snabbare kristall man har.
Om du använder PICBasic är det så lätt som att definiera kristallen i början av programmet:
...definierar en 4MHz kristall.
Sen behöver du inte tänka på det mer! Kompilatorn räknar sedan ut så att alla pauser stämmer enligt vad du skriver i koden, likaså seriell överföring kommer den fixa själv så att den stämmer i timing.
Vill du sedan byta kristall är det helt enkelt bara att definiera den nya kristallens frekvens istället, kompilera om, programmera och köra!
Den "enda" skillnaden du eventuellt kommer märka vid högre kristallfrekvenser är att beräkningarna går snabbare. Man kan, i ivssa tidskritiska applikationer märka en skillnad. T.ex. min PWM-PIC fungerade avsevärt bättre i 20MHz än i 10MHz (4 är inte ensa att tala om!).
Kod: Markera allt
DEFINE OSC 4
Sen behöver du inte tänka på det mer! Kompilatorn räknar sedan ut så att alla pauser stämmer enligt vad du skriver i koden, likaså seriell överföring kommer den fixa själv så att den stämmer i timing.
Vill du sedan byta kristall är det helt enkelt bara att definiera den nya kristallens frekvens istället, kompilera om, programmera och köra!
Den "enda" skillnaden du eventuellt kommer märka vid högre kristallfrekvenser är att beräkningarna går snabbare. Man kan, i ivssa tidskritiska applikationer märka en skillnad. T.ex. min PWM-PIC fungerade avsevärt bättre i 20MHz än i 10MHz (4 är inte ensa att tala om!).