Amugy hogy jon ki az a "2.5 usec" reakcioido 16MHz-es AVR architekturan interruptra? Nekem kicsit soknak tunik ... Meg regisztereket sem kell push-olni, van par regisztere AVR-nek, siman ne mentsd el, meg semmi. Max, nem szabad mashol hasznalni, mert nyilvan ha az ember nem menti, es interrupt handler is haszalja meg mas is, akkor ciki van ... Persze, ez akkor (de ha jol ertem) AVR assembly szintu cucc lesz, nyilvan ha pl C-ben van irva, akkor persze szivas, mar eleve, az ilyen gyorsasagot lehet elfelejteni, hasonlo trukkokkel egyutt.
Amugy AVR-rel (most ertem itt az ATmega meg ATtiny csaladot, az ATxmega az mar mas, ahogy az AVR32 es/vagy ARM core-os cuccok is) erdekes projectek vannak, pl dedikalt hw nelkul VGA signal eloallitasa, tisztan software-bol, stb (spec itt hasznos az, hogy van benne shift-out register is, ami pl SPI-hoz is kell, es lehet "abuse-olni" ilyen celra is). Stb, szoval azert annyira lassunak nem neveznem, foleg ahhoz kepest, hogy nyilvan ez a 8 bit MCU kategoria, ahol azert altalaban nem par szaz MHz-es orajelet szokas hasznalni altalaban, akkor az mar inkabb a 32 bit/ARM core/stb kategoria szokott lenni.
A masik ami eszembe jutott, C64-en hasonlo PS/2 billencs kerdesekben hasznaltak pl "cross point switch" IC-t (MT8812 vagy mi volt ott konkretan egy megoldasban?). Ott raadasul az a baj, hogy C64-en megy "ket oldalrol" is a matrix scanning, azaz mondhatod hogy pl oszlopokra tolod ki a jelet, es sorokat olvasod be, de forditva is csinalhatod, EP-nel ugye ez fix. Az a crosspoint-switch IC az meg spec pont hogy egy matrixot valosit meg aminek vannak sorai/oszlopai, es aztan programozhatod, hogy a matrix melyik sora/oszlopa legyen osszekotve v ne legyen. Mondjuk ha jol remlik eleg ritka cuccok, es saja nem is tul olcsoak, lehet, ha mar mindenaron kell vmi kulso taroloeszkoz (azaz nem az MCU csinalja magaban ...) akkor vmi SRAM hasznalata olcsobb megoldas.