Staram się zoptymalizować kod. W tym celu chcę sprawdzić jak szybko zostaje wykonana instrukcja wysłania 16 bitowego słowa po sprzętowej szynie SPI. W tym celu zeruje i włączam timer1 (BEZ preskalera) na początku wysyłania i zatrzymuje na końcu. Zawartość licznika TCNT1 wysyłam po UARTcie. Wynik jaki otrzymuje to zawsze 278 cykli zegara (16MHz). Ciekawi mnie dlaczego po podpięciu JTAG'a i debugowaniu programu po krokowo, wyniki rejestru TCNT1 nie są w żadnym stopniu zbliżone do tego co pierwotnie uzyskiwałem na UARTcie. Domyślam się, że jest to spowodowane złym ustawieniem beakpointa, ponieważ ustawienie go poniżej komendy wyłączającej sygnał taktujący, powoduje,że wyniki się zgadzają. I moje pytanie brzmi.
Jeżeli sygnał taktujący timer jest wybrany i program zostanie zatrzymany z poziomu PC(wykonywanie po krokowe) to czy licznik nadal zlicza ?
Czy warto pod względem optymalizacji, realizować to z funkcją czekania jw. czy wykonać na przerwaniu SPI_STC_vect(napisać procedurę dzielącą wiadomość na dwa słowa)
Jeżeli sygnał taktujący timer jest wybrany i program zostanie zatrzymany z poziomu PC(wykonywanie po krokowe) to czy licznik nadal zlicza ?
Kod: text
Czy warto pod względem optymalizacji, realizować to z funkcją czekania jw. czy wykonać na przerwaniu SPI_STC_vect(napisać procedurę dzielącą wiadomość na dwa słowa)