AT91SAM7XC256 - interrupt

Bear John Grills bear.j.grills@gmail.com
Středa Říjen 14 20:15:12 CEST 2009


Zdravím,
 nedávno jsem realizoval rychloměr na AT91SAM7XC256 - využíval PIOB jako 
interrupt. inkrementoval bez problémů proměnnou v handleru i třeba při 
300Hz  (resp. 600Hz - senzitivní změna lvl) .. Teď, tu mám projekt, kde je:
main () {
    OBCApp() {
         GLCD_Refresh() {
           AT91_SetOutput(..)
        } 
    }
}

řekněme .. 5 fcí které se volají v sobě. Problém je v tom, že na 
jakékoliv přerušení ..  externí nebo i třeba na TC (kromě FIQ ten sem 
nezkoušel) reaguje naprosto zpomaleně, tak, že inkrementuje v handleru 
proměnnou maximálně při frekvenci asi 60Hz.. a to je MCK asi 48MHz..

Nemohu se zoufale dopátrat, čím to je. Je to tiím že je tam moc 
vnořených fcí? Chyba v nastavování přerušení je vyloučená protože je 
stejné jako u předchozího funkčního projektu..
A pokud to je těma fcema, dá se to nějak přizpůsobit? Myslím že FIQ by 
taky nepomoh.. Co myslíte?

Bear


Další informace o konferenci Hw-list