Úloha v assembleru

j

Re:Úloha v assembleru
« Odpověď #45 kdy: 07. 05. 2015, 07:29:13 »
V praxi to funguje presne jak pisu. Protoze nikdo nebude programovat neco, co si muze koupit hotovy. Poruchovost nikoho nezjima, pokud to ma vydrzet, tak maximalne zaruku. A jakykoli kodeni je vzdy radove drazsi. Takze jestli tlacitko stoji korunu, pak kod resici stejnou vec stoji 100Kc. Na kazdej vyrobenej kus.

Pokud me zajima ruseni, potrebuju zcela jinej HW, protoze SW to nikdy nevyresi.


Jako chápu to dobře, že ten select se podívá na všechny novější záznamy, než zpracovat minule, tedy nějaký where timestamp blablabla?

Mas snad vidiny a vidis tam nejakej where ?


gamer

Re:Úloha v assembleru
« Odpověď #46 kdy: 07. 05. 2015, 08:40:49 »
V praxi to funguje presne jak pisu. Protoze nikdo nebude programovat neco, co si muze koupit hotovy. Poruchovost nikoho nezjima, pokud to ma vydrzet, tak maximalne zaruku. A jakykoli kodeni je vzdy radove drazsi. Takze jestli tlacitko stoji korunu, pak kod resici stejnou vec stoji 100Kc. Na kazdej vyrobenej kus.

Pokud me zajima ruseni, potrebuju zcela jinej HW, protoze SW to nikdy nevyresi.
Zkusenosti z praxe nemas, pochybuju, ze jsi nekdy programoval zarizeni, ktere slo na EMC zkousku. Obhajujes reseni, ktere je technicky i ekonomicky spatne. Prerusenim se v embedded resi jen to, co jinak udelat nelze. Rozhodne ne cteni tlacitek ani standardnich vstupu. Ruseni se musi resit na vsech urovnich, v HW i v SW. A jedna logicka uloha, kdyz vyrabis milionove serie, usetris radeji $10000 na programatorovi nebo $1 na zarizeni? A to nepocitam cenu EMC zkousky, kterou bys napoprve s prerusenim na tlacitku na 99% neprosel.

Pavel Tišnovský

Re:Úloha v assembleru
« Odpověď #47 kdy: 07. 05. 2015, 09:01:01 »

Jako chápu to dobře, že ten select se podívá na všechny novější záznamy, než zpracovat minule, tedy nějaký where timestamp blablabla?

Mas snad vidiny a vidis tam nejakej where ?

Tak ono je lepší připustit možnost, že jsi zapoměl napsat "where", než že je tvůrce toho SW naprosté prase :-)

Jetset

Re:Úloha v assembleru
« Odpověď #48 kdy: 07. 05. 2015, 09:56:52 »
Celkem jsem se pobavil ctenim techto komentaru.
Sice neobhajuji tohohle studentika, co by chtel, aby mu nekdo vyresil domaci ukol - pokud nechapes co mas delat, tak co jsi cely rok studoval?
Zamerim se spis na reseni tohoto problemu.
Hardwarove osetrene tlacitko je sice krasna vec (delal jsem takove veci v dobach logickych obvodu bez procesoru), ale v praxi je podstatne lepsi osetrit zakmity ve firmware. Predstav si, ze delas 160ti tlacitkovou klavesnici (shodou okolnosti muj prvni projekt v zamestnani). Nemuzes tam dat 160 prepinacich tlacitek, kazde se dvema hradlama.
Navic, softwarove osetrit zakmity je velmi jednoduche, uz to tady nekdo zminil - periodicky ctes stav a kdyz se zmeni, v pristim testu zkontrolujes, jestli je stale zmeneny a pak teprve zmenu akceptujes. V pripade teto velke klavesnice, co jsem tehdy delal, byly tam 2 bitmapy stavu, delal se xor a and mezi bitmapama a soucasnym stavem klavesnice.
Podobny algoritmus jsem pak pouzil nekolik desitek krat v ruznych zarizenich.
Takze tato uloha je pro studenty velmi dulezita.

Jak bych resil tuhle konkretni ulohu:
Nastavil bych si timer na 880Hz. V kazdem interruptu bych invertoval vystup, pokud by byl nastaveny flag a v kazdem 16tem interruptu bych cetl tlacitko (algoritmem zminenym nahore). Pri stisku tlacitka bych invertnul flag. Hlavni smycka by obsahovala jenom sleep (halt nebo co ma tento processor).
Vyhoda? Naprosto presna frekvence a nemusis pocitat kolik instrukci ma tvuj program ve vsech ruznych vetvich, abys ji dosahl.

Yarda

Re:Úloha v assembleru
« Odpověď #49 kdy: 09. 05. 2015, 10:49:08 »
http://forum.zive.cz/viewtopic.php?f=922&t=929499

BTW: Zmínil se ten šmudla, do kterého vzdělávacího ústavu občas zavítá?