Skocz do zawartości

Sprawdzanie czasu obiegu pętli


Pomocna odpowiedź

Napisano

Witajcie.

Mam do was takie pytanie, w jaki sposób możliwie najszybciej i najwygodniej sprawdzilibyście czas obiegu pętli głównego programu bądź jakiejś funkcji? Zrobiłem pewien program i teraz przyszła pora na jego optymalizacje, czas obiegu jest mi bardzo potrzebny dlatego też kieruję się z tym pytaniem do was. Mam pomysł taki, że można by użyć jakiegoś licznika/timera który zerowałby się na początku programu, a na jego końcu wartość zapisywana była by do jakiejś zmiennej i ustawiana na port bym mógł po stanach logicznych odczytać wartość binarną, macie może jakiś lepszy sposób?

Ja robiłem tak, że uruchamiałem licznik na początku interesującego mnie kawałka kodu a na jego końcu go zatrzymywałem. Oczywiście dzielnik był tak dobrany do zegara, aby uzyskać jak największą ilość zliczeń, ale żeby nie doszło do przepełnienia. Na koniec wyświetlałem sobie wynik na lcd, można też wysłać przez RS na jakiś terminal w komputerze, a można tak jak napisałeś wystawić wynik w postaci binarnej na jakimś porcie, ale wtedy masz albo ograniczenie do 1 bajta, albo dzielisz wynik na kilka części i wystawiasz na kilku portach. Oczywiście sposób z lcd czy RSem jest dużo prostszy 🙂.

  • Lubię! 1

Czyli pozostaje wykorzystanie Timera, tak jak mówiłeś. Z czym konkretnie masz problem, z wyciągnięciem "wyniku"? Najprościej chyba będzie wykorzystać debuger/LCD/UART.

  • Lubię! 1
Czyli pozostaje wykorzystanie Timera, tak jak mówiłeś. Z czym konkretnie masz problem, z wyciągnięciem "wyniku"? Najprościej chyba będzie wykorzystać debuger/LCD/UART.

Odnośnie debuggera masz na myśli załatwienie programatora na rx/tx i wyświetlaniu wyników w jakiejś konsoli na komputerze? Jest gdzieś jakiś poradnik odnośnie używania tego? Chyba zakupiłbym taki programator bo z tego co widzę, jest on bardzo przydatny

Dzięki za odpowiedzi

Debugger i RS/TX (USART) to zupełnie, co innego. Poczytaj ten wpis: Czym jest JTAG?

Inna opcja: negować jedno wyjście układu na początku i końcu pętli. Czas można odczytać oscyloskopem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...