Tylko że problem zaokrąglen jest problemem wtornym powstałym poprzez zastosowanie takiego a nie innego wzoru w takim a nie innym języku programowania. Jak starałem się udowodnić wzorami z pierwszego posta że wszystko sprowadza się do wymnozenia czasu w us z częstotliwością procka w MHz i podzieleniu przez preskaler no i odjęciu 1. Skoro zakladalem czas 11us dla 16MHz i preskaler 1 to obliczenia są proste 11*16/1-1. Na tak zadanych parametrach korzystając z mojego wzoru nie ma mowy o zaokragleniach bo pracuje na zmiennych całkowitych.
Morał z tego taki że nieistotne jak przeksztalcimy wzór z datasheet MUSIMY otrzymać ten sam wynik bo tylko jeden jeden poprawny bo jest to równanie liniowe dlatego Panie gordo nie ma "obu bliskich wartości".
Jeśli wynik nie jest liczba całkowitą to szukamy najbliższego (z najmniejszą odchyłką błędu) i kalkulator Pana Mirka doskonale to robi, bo oblicza wartość OCR dla różnych prescalerow przy zadanych warunkach początkowych.
Jak się dostanę do laptopa to zaktualizuje mkavr calculator i popatrze jak teraz liczy.
EDIT:
No to dorwałem się do komputera i to są moje wnioski.
Nowa wersja nadal liczy inaczej niż wynika to ze wzorów z datasheet. (posiłkuję się datasheet od atmega128A)
Poniżej tablica wyników tym razem bardziej czytelna:

Legenda:
Zielony - wyniki, które uległy poprawie po aktulizacji programu
Czerwony - wyniki błędne
Biały - wyniki prawidłowe
Wzór, z którego korzystam:
