Kezdőoldal » Számítástechnika » Programok » Ezt hogyan lehetne megoldani?

Ezt hogyan lehetne megoldani?

Figyelt kérdés

Először is se az elektronikához, se a programozáshoz nem igazán értek, netről próbálok csak tanulgatni.

Mikrovezérlőre kellene megírnom egy olyan kódrészletet, ami a lehető leggyorsabban lefut. Tulajdonképpen egy egyszerű feltételvizsgálatról van szó. A már meglévő kód "ciklusideje" olyan 1ms. A legelején viszont szükség lenne megvizsgálni több paramétert is (egyszerű változókban vannak/lesznek tárolva) és azok alapján műveleteteket végrehajtani. Viszont ez (sima if-es feltételvizsgálat) olyan sok időt vesz el (lévén hogy egy 16MHz-es AVR-ről van szó), hogy a már meglévő kód nem látja el megfelelően a funkcióját. Hogyan lehetne felgyorsítani mégis ezt? A baj az igazából az, hogy nem csak a folyamatos vizsgálat nem fér bele a lefutásba, hanem már az egyszeri sem. Szóval annyira ki van használva a mikrovezérlő, hogy a teljes futásidő alatt egy pillanat sincs hogy ne csinálna valamit. Ebben az esetben mi lehet a megoldás? Csak is a komolyabb hardverre történő váltás? Sajnos a jelenlegi kódon már csak úgy lehetne (szerintem) optimalizálni, ha assembly-ben lenne újraírva az egész (C++-ban írtam). Ami meg nem kis feladat, meg nem is tudom hogy lehetne-e nyerni vele annyit.



2018. máj. 19. 00:45
 1/5 anonim ***** válasza:

szerintem a 16. if ágban lesz a gond. :-)

Lépj vissza a tervezéshez, és az if ágakat úgy építsd fel,

hogy a leg kevesebb ellenőrzésen menjen át, ne fusson fölös köröket.

2018. máj. 19. 07:45
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Nem igazán van benne if ág. Sőt, nincs is benne eddig.
2018. máj. 19. 08:43
 3/5 anonim ***** válasza:
Sehgy, sz..rból nem lehet várat építeni.
2018. máj. 19. 09:22
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
És itt mi számít szarnak? Maga a mikrovezérlő, vagy a C++ adta lehetőségek?
2018. máj. 19. 10:02
 5/5 anonim válasza:
A titok: Assembly.
2018. aug. 22. 20:13
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!