Hallo
Letztlich beruhen die verschiedenen Datentypen auf den Vorgaben durch den Kontroller. Und die AVRs kennen eben keine Speichereinheiten (Register?) mit 4 Bit. Natürlich kann man C den Datentyp auch beibringen, der Kompiller wandelt aber letzlich alles in die Registergrößen des Kontrollers um.
Das hatte ich heute Nacht noch nicht wirklich zuende gedacht. Für deine ISR hast du 256 Kontrollertakte lang Zeit, abzüglich des Codes für den Aufruf der ISR. Jetzt kenne ich mich mit den Ausführungszeiten der einzelnen Machinenbefehle nicht so aus, aber Verzeigungen und Arrays und For-Schleifen zusammengezählt ergeben möglicherweise deutlich mehr Takte als zur Verfügung stehen. Deshalb würde ich auch einen größeren Prescaler vorschlagen, bei 27 Leds würden /8 vollkommen ausreichen. Je nach Codeoptimierung in der ISR reicht dann vielleicht auch nur /64 in CTC.Das sind 31250 Unterbrechungen von _delay_ms mit der Ausführungsdauer deiner ISR.
Gruß
mic
Lesezeichen