djbpm pisze: sp9ds pisze:
Wg datasheetu tylko 8-bitowy Timer2 może być zasilany zegarem z zewnątrz bez synchronizacji z clkIO, ale jego źródło zegara to pin TOSC1, czyli jeden z pinów na którym chcesz mieć kwarc. W związku z tym pomiar tego okresu np. 1 sek czy ile tam chcesz nie będzie precyzyjny i taki pomiar będzie miał badziewną jakość. O widzę, że zaglądnąłeś do datasheet, to się chwali . Zamiast kwarcu lepiej jest użyć TXCO, i zliczać drugim timerem impulsy z TXCO i tym bramkować. A procek niech chodzi z oscylatora RC. Jedyny minus, to że RC ma chyba max 8MHz, więc się robi ciasno. Nie wiem ile biblioteka Arduino potrzebuje czasu na wejście i wyjście z przerwania, bo przerwanie z częstotliwością 100kHz może się okazać niemożliwe do wyrobienia przy 8 MHz zegara (czyli co 80 cykli przy 25,5 MHz częstotliwości mierzonej). Ja to robiłem w assemblerze, tam wejście w przerwanie, dodanie do licznika przepełnień wyjście i powrót się bez problemu wyrabiało. Ale może faktycznie nie warto tracić czasu, bo: sp9ds pisze: AVR to już trochę pieśń przeszłości. Polecam nauczyć się np. STMów Na pewno zaprocentuje to w przyszłości.
Tylko jeden z timerów może pracować z zegarem z zewnątrz i jest to Timer2. Reszta jest synchronizowana do zegara clkIO. |