ddano007 píše:
Timer1 a delay: mne sa práve kdesi marí, že systém by mal používať Timer0, ak používa Timer1, to by som radšej prekopal to prerušenie na niečo, čo systém nepoužíva.
V assembleri si človek všetko naprogramoval sám, ergo som vedel, čo mi kde beží, v Arduine akosi neviem, čo beží kde v systéme
1/ delay a casovanie (realny cas systemu) bezi defaultovo na timer 0 ale da sa to zmenit, ale to si asi nerobil, takze je to 99% timer 0 . Timer 1 sa pouziva napriklad v "servo" objekte a podobnych veciach. Delaye sa tam nepouzivaju prave preto ze
2/ presne ako hovoris nikdy nevies co ti bezi na pozadi v Arduino systeme. Robi to tam dost divne veci aj u niektorych velmi jednoduchych operacii. Treba si uvedomit ze to k comu mas pristup je len nejaky front end systemu ktory ti bezi na pozadi, Vsetky prerusenia bezia k nemu az porom k tebe a navyse to vzdy zalezi aky je to procesor (je to konfigurovatelne pre rozne procesory). Pokial chces mat 100% istotu tak bud ten asembler, alebo nejaky kompilator kde to mas 100% vo svojich rukach, alebo nastudovat co to arduino na tvojom procesore naozaj robi a prisposobit sa tomu.
V tvojom pripade je to prerusenie obsluhovane potencionalne hodne dlho, vysoko pravdepodobne tam bude kolizia medzi preruseniami. Citat retazec vovnutri prerusenia, to by som nerobil ani nahodou, tam sa urobi par jednoduchych operacii a vypadne sa.