Bár már egy fórum téma már pedzegette (viewtopic.php?f=23&t=1052), de még mindig nem látok tisztán. Milyen költségekkel járnak az Arduino bizonyos funkciói?
Megaherz közeli működést kellene produkálnom, de egyelőre nagyon messze vagyok ettől.
Számításaim szerint a 16MHz-es CPU 1250 mikroszekundumos ciklusidőt jelent.
Kb. 20 kódsoros a kódom, a kérdés persze az, hogy milyen könyvtári függvényeket hívok benne. Mérésem szerint jelenleg 460 órajelcikus a kódom, ami bizony alig üti a Kiloherzes tartományt.
Mit tartalmaz a kódom?:
2 függvényhívást
1 micros() hívást
5 értékadást pointerre vagy unsigned long-ra
7 feltétel vizsgálatot pointerre vagy unsigned long-ra
2 artimetrikai műveletet unsigned long-ra
Akárhogy is nézem ez nem lenne szabad száz órajelnél több legyen.
Beraktam mégegy micros() függvényhívást, ezt +48 óraciklus büntetés volt.
Miért mégis ilyen sok? Van erről valami ötletetek, vagy leírás valahol?
Kössz,
Balázs
