Stránka 2 z 3
Napsal: 04 dub 2016, 21:27
od jiriS
Koukám, že jsem trochu způsobil malou bitvu mezi C a JSA. To jsem nechtěl, jen jsem si povzdechl, že mi nějak nejde do hlavy...
Jirka
Napsal: 13 dub 2016, 17:38
od ZdenekHQ
Jestli Ti kvůli "JSA" chodí PM, tak to je vážně jak v blázinci. Proč to nenapíšou sem?
Stejně jsem to sem zavlekl já, ale snažím se jen upozorňovat na terminologii, nic víc.
Samozřejmě odmítám nějak "nutit" uživatele EB používat přesné výrazy, jsme na Bastlírně - třeba termín "rezistor" místo "odpor", protože je to svým způsobem taky blbost (název v.s. fyzikální veličina), ale je dobrý to vědět kvůli šťouralům...

Napsal: 13 dub 2016, 17:50
od Habesan
Ale byla by to inspirace na Apríla, vyhlásit Bastlírnu jako jazykovědné fórum, a známkovat příspěvky (jedna chyba, stupeň dolů).
Napsal: 13 dub 2016, 19:25
od jiriS
Ale je pravdou, že jsem chybně použil termín assembler já, a myslel jsem tím právě JSA. Upozornění je v pořádku, protože jsem chybným použitím tohoto termínu napsal blbost.
Jinak považuju za nesmyslné se dohadovat,který jazyk je lepší a který horší- všechno má svoje + i - a každý programátor to má taky jinak naučené a zažité.
Jirka
Napsal: 15 dub 2016, 17:16
od ZdenekHQ
V "konečných stádiích" programování v JSA/ASM (jako třeba já) skončíš třeba tak, že si složitější či speciální příkazy definuješ pomocí maker a tím se vlastně dostaneš o úroveň výš. Výhoda je, že jejich změna se Ti projeví naráz a všude, což je mimochodem obrovská výhoda v případě chyby. V postatě si tím vyrobíš vlastní překladač.
Ale například v rámci "časové kompatibility" - t.j. kvůli kritickému časování, které je třeba základem celého programu - stejně nemůžeš přejít na obecně vyšší programovací jazyk. Navíc bys to musel celý napsat znovu a ztratil by jsi zpětnou kompatibiltu.
Napsal: 15 dub 2016, 17:27
od Atlan
Preco by si nemohol, kriticku cast napises v asm a zbytok v Cku.
Napsal: 15 dub 2016, 17:37
od ZdenekHQ
Ano, ale u mě by to bylo C vložené do JSA...
Navíc přepisovat odladěných 20 až 30 tisíc řádků v JSA (samozřejmě počet je včetně komentářů) do C je dost časově náročný.
Napsal: 15 dub 2016, 22:02
od jiriS
Makra používám, taky mám v JSA nějaký knihovny- dělení jsem někde sehnal, něco jsem si napsal sám, něco převzal. Výhody C vidím- ono to JSA kódování je vlastně dost úmorný a u programů nad určitou mez vlastně (skoro) nemožný.
Ale do hlavy to neleze a neleze a protože se tím neživím a živit nebudu (k programování jednočipů jsem se dostal až v padesáti), schází i dostatečně silná motivace.
Možná by pomohl občasný pokec s někým znalým, ale děti pracují na jiných úrovních, vnuk ještě ani nemluví a manželka se se mnou o programování jednočipů prostě nebaví
Jirka
Napsal: 15 dub 2016, 22:25
od ZdenekHQ
Určitě - na soft typu změř teplotu a pošli na displej je Céčko ideální, protože je (zjednodušeně řečeno) nezávislý na procesoru.
Pokud je to procesor typu BIOS - t.j. nějaké řízení konkrétní desky, pak je (alespoň podle mě) JSA/ASM výhodnější.
Napsal: 15 dub 2016, 22:28
od ZdenekHQ
jiriS píše:...manželka se se mnou o programování jednočipů prostě nebaví...
Ale baví. Jde o bitovou komunikaci, ani o tom neví. Uvaří, neuvaří, bude sex či nebude - a jak do toho zavleče jednoduché podmínky, pořád jsi ještě v JSA....

Napsal: 15 dub 2016, 22:49
od jiriS
Teď řeším měření teplot na dvou místech, s možným rušením, tedy průměrovat řadu měření, chybná měření vyloučit, k tomu měřit napětí, hlídat mezní hodnoty a na ně upozorňovat, něco průběžně zobrazovat...
K tomu hlídat několik dalších stavů, reakce na ně, na tlačítka.
Dostatečně blbuvzdorný atd..
Jediná rozumná cesta byla v 10ms intervalech opakovaně měřit, kontrolovat, reagovat; každý proces se musí dělit podle fáze, ve které se zrovna nachází tak, aby byl správně přerušený nebo dokončený a přitom jen s omezeným přiděleným časem...
Nedokážu si představit, jak by to v C bylo možné časovat, leda nějakou tou kombinací, zároveň ale musí programátor C-čko dokonale zvládat.
Jirka
Napsal: 15 dub 2016, 22:51
od jiriS
Jo, jde o bitovou komunikaci. Pokud podmínku nesplním, jsem bit

Napsal: 18 dub 2016, 18:53
od weed_smoker
Programovat x51 jsem před 10-11 lety uměl,občas problém s nahráváním(pojistkyMCU,kabel,LPT port,napájení...).klasicky v JSA (Assembler v softwaru AS51.exe)Jednoduchý věci se daly napsat rovnou až po END,pokud to bylo něco složitějšího,tak se udělaly podprogramy.
AVR by to měly mít podobně,ale je potřeba mít seznam podporovanejch instrukcí a mapu registrů,případně paměti.
U PICu mi to přišlo takový docela masakrální,skoro jako Assembler pro x86.
Se starym AS51.exe AVR asi nenaprogramuju,ale prej existuje podobnej soft i na novější MCU x51 a Atmel,akorát si nevzpomenu na název.
Napsal: 18 dub 2016, 19:56
od ZdenekHQ
Já teď používám 89C51RD2 - má to 51 jádro, takže jsou kompatibilní se starším softem, ale jsou rychlejší, mají mnohem větší paměť (64kB), větší RAM, SPI, 8x PWM atd.
A hlavně mají bootloader, dají se programovat přes UART, takže se píchne kabel do mašiny a dá se dělat pokusy se softem. Přeprogramování je věc pár vteřin, a lze i použít přímé ovládání pinů.
Napsal: 18 dub 2016, 21:38
od termit256
Mrkni na AT89LP51RD2. Ta LP rada by mela byt mnohem rychlejsi a kupodivu jsou i levnejsi.
Ja je pouzivam na veci typu inkrementalni snimace, krokove motory apod, proste tam kde je potreba jasne definovane casovani a rychle reakce. Samozrejme "pomale" veci typu zobrazovani, ovladani, databaze... je lepsi psat v C. Vcelku nemam problem nacpat do stroje i vice MCU a propojit je napr. pomoci uartu. Delam vetsinou prototypy, takze cena HW nehraje roli. Na 51 se mi libi takovy pohodovy assembler, kdysi jsem delal nejakou vec s extremne nizkou spotrebou na PICu, to byly galeje
