Hallo iedereen,

Voor een project wil ik de timer1 van een ATmel AVR 90S8515 aanpassen vanin het programma. Daarom moet ik TCNT1H en TCNT1L kunnen berekenen natuurlijk. Nu heb ik de volgende formule bedacht. Kunnen jullie effe kijken of deze klopt. Hij is we in buurt, maar de application builder van Imagecraft ICCAVR komt steeds net iets ander uit. Enige suggesties?

TCNT1 = FFFFh - ((Kristalfrequentie/Prescaler)/ gewenste frequentie)

Hoe en waarom komt die net anders uit?

Bij dit soort berekeningen moet je altijd opletten op de tussenoplossingen die ontstaan. Vaak vallen er bij tussenberekeningen cijfers achter de komma weg, wanneer deze getallen dan bijvoorbeeld weer even later met 100 worden vermeningvuldigt geeft deze "afkapping" een verschil van maximaal 99 in het antwoord.

Bijvoorbeeld de som:
1500/1000*1000
dat zou 1500 moeten worden uiteraard, maar door het wegvallen van de 0,5 na de berekening 1500/1000 wordt het eind antwoord 1000, wat uiteraard fout is.