Witam,
mam problem natury kosmetycznej... chodzi o czas wykonywania się danej funkcji.
Napisałem funkcję zamieniającą podany ciąg znaków na tablicę n elementów typu int. Ciąg znaków przedzielony jest "separatorem" i ten stanowi granicę między elementami.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Poniżej dwie dodatkowe funkcje.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie zwróciłbym uwagi gdyby nie fakt zmiany kwarcu z 11MHz na 8MHz. Projekt wyczyszczony skompilowany pod 8MHz. Wysyłam dany ciąg znaków przez USART i na wyświetlacz LCD co 1s. Ciąg znaków jest to czas w postaci hh:mm:ss.
Dla 11MHz czas wyświetla się prawidłowo co 1s.
Dla 8MHz czas wyświetla się też prawidłowo ale co kilka sekund następuje wyświetlenie czasu przesuniętego +2s
przykład:
00:00:01
00:00:02
00:00:04
00:00:05
00:00:07
itd.
w kodzie asm, funkcja
StringToInt2 zajmuje 134linijki. Jestem też świadomy, że problem może leżeć zupełnie gdzie inndziej, ale od czegoś trzeba zacząć.
Chyba, że ktoś zna ciekawy sposób na sprawdzenie czasu wykonywania poszczególnych funkcji.
Pozdrawiam,
Tomek.