FeiaDragon
27.08.2008, 01:57
Hey!
erstmal mein problem: und zwar habe ich einen 32khz uhrenquarz an meinen PIC16f870 angeschlossen, und zwar an dT1CKL/T1OSI (RC0/RC1).
Jetzt stell ich den Vorteiler vom timer 1 auf 1 und warte auf overflows von dem ding.
leider zählt der counter nicht - entweder der quarz oszilliert nicht oder ich hab irgendwie in der software ein fehler.
hardware-mäßig habe ich einen 20Mhz Quarz an dem normalen Eingang und den 32,768kHz Quarz über 2 100pf Kondensatoren in Richtung Gnd verbunden.
Softwaremäßig (ich benutze den ccs c compiler) siehts so aus:
...
set_tris_c(0b10000011);
setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
do
{
printf("%lu ", get_timer1());
}
while(true);
...
Dazu kommt noch die Interrupt-Prozedur, die aber nur hallo über rs232 sagt (was allerdings noch nicht vorgekommen ist *g*)
der ausgegebene wert von der Endlosschleife ist immer gleich...
Habt ihr eine Idee woran es liegen könnte? Was ich falsch gemacht habe?
Ich finde dazu im Netz nichts...nur Anleitungen um den Uhrenquarz als Hauptquartz und nicht als Uhr am externen Timer1 Eingang zu benutzen.
Danke!
Kai
erstmal mein problem: und zwar habe ich einen 32khz uhrenquarz an meinen PIC16f870 angeschlossen, und zwar an dT1CKL/T1OSI (RC0/RC1).
Jetzt stell ich den Vorteiler vom timer 1 auf 1 und warte auf overflows von dem ding.
leider zählt der counter nicht - entweder der quarz oszilliert nicht oder ich hab irgendwie in der software ein fehler.
hardware-mäßig habe ich einen 20Mhz Quarz an dem normalen Eingang und den 32,768kHz Quarz über 2 100pf Kondensatoren in Richtung Gnd verbunden.
Softwaremäßig (ich benutze den ccs c compiler) siehts so aus:
...
set_tris_c(0b10000011);
setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
do
{
printf("%lu ", get_timer1());
}
while(true);
...
Dazu kommt noch die Interrupt-Prozedur, die aber nur hallo über rs232 sagt (was allerdings noch nicht vorgekommen ist *g*)
der ausgegebene wert von der Endlosschleife ist immer gleich...
Habt ihr eine Idee woran es liegen könnte? Was ich falsch gemacht habe?
Ich finde dazu im Netz nichts...nur Anleitungen um den Uhrenquarz als Hauptquartz und nicht als Uhr am externen Timer1 Eingang zu benutzen.
Danke!
Kai