Založen: Apr 02, 2011 Příspěvky: 17951 Bydliště: Nový Bydžov
Zaslal: po prosinec 17 2012, 10:02 Předmět: Cim zacit v C
Vazeni, co programujete v C, poradte jak nejlip zacit aby byl efekt u stredne tupyho cloveka co "nejkvalitnejsi a nejrychlejsi". Konkretne podle ceho se naucit a jakej compilator pouzit. Naky knizky tu mam co kdysi v DOS edici vydala Tesla, neco jsem stahnul, ale je to moc pokrocily. Taky nevim ktery C a od koho a jaky jsou mezi nima rozdily. Mam to jen na hrani a tak neco free.
Jde mi o praci na Woknech, pripadne na 8051 rade a Z80 by taky nebyla k zahozeni.
Diky
Jirka
Založen: Feb 14, 2005 Příspěvky: 9006 Bydliště: Brno (JN89GF)
Zaslal: po prosinec 17 2012, 10:20 Předmět:
Nedávno jsem to taky řešil, nakonec jsem si nainstaloval MS Visual C++ 2010 Express, projel tento seriál a dále čerpám info hlavně z MSDN a http://www.cplusplus.com/. To vývojový prostředí sice nevyužívám ani z 10%, protože to má mraky funkcí, kterým vůbec nerozumím, ale základy se v tom dají dělat dobře a stačí se naučit jen pár funkcí.
Na práci s MCU se chystám výhledově, s osmibitama je stejně lepší používat ASM kvůli efektivnímu využití prostředků. Jestli se někdy vrhnu na nějaký výkonnější, kde už nebudu muset řešit málo paměti a výkon, tak možná...
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 13:01 Předmět:
Ve Woknech je MS Studio rozumná volba, ale doporučoval bych začínat raději konzolovými aplikacemi v C (lze volit v project Wizardu) než oknové aplikace. Není tam třeba řešit vizuální okenní prvky, stačí řešit jen algoritmizaci a používat snadný výstup na displej (printf). Takové programy jsou na úrovni zdrojáků dobře kompatibilní s jinými systémy (jako Linux), lze najít dostatek tutoriálů.
Z konzolových aplikací se pak snadno přechází i k jednočipům (stačí přidat práci s registry) i k okenním aplikacím.
U jednočipů je sice assembler optimálnější, ale může příliš svazovat. Většinu procesorů je možné bez problémů programovat v C. Překladače (jako gcc) umí už tak dobře optimalizovat, že kód obvykle nebývá o moc větší či pomalejší než čistý assembler. Nezkušené programátory může dokonce předčít (např. optimalizací fronty instrukcí, fígle s používáním násobení místo pomalejšího dělení atd.). Program v C není velký problém přenést např. z AVR na PIC. Proto assembler má opodstatnění jen u velmi malých procesorů, jako jsou ATinny, a jako inline vložky do C kódu pro zefektivnění kritických nebo náročných částí programu. Efektivita práce se s C kódem mnohanásobně zvýší oproti ASM (vím co mluvím, léta jsem byl zatvrzelým zastáncem ASM).
ASM je vhodný spíš pro jednodušší programy pro MCU, ve chvíli kdy budeš psát něco složitějšího, začne být kód málo srozumitelný, nepřehledný a budou vznikat chyby.
Můžeš použít předpřipravené knihovny v C což značně zrychlí práci
Pokud někdo požaduje rychlejší vypracování nějaké úlohy, není problém zkombinovat asembler a C, případně LJSA
pro začátek doporučím knížku Programovací jazyk C pro zelenáče
Petr Šalamoun. Po jejím nastudování a nastudování manuálu ke kompileru by neměl být žádný problém.
schválně, kdo by si troufl napsat pro 8bit MCU v asembleru funkci POW( ) pro 2 32bitové floaty? Já ne
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 17:54 Předmět:
Chytáš za slovíčkaření. Jo, svazovat, protože když člověk po několika dnech práce na asm funkci zjistí, že potřebuje např. změnit pořadí částí kódu a znamená to úplnou reorganizaci předávání dat mezi registry, to je pak na zabití. Je hezké napsat dobře optimalizovanou funkci v assembleru. Jenomže jakékoliv pozdější úpravy a předělávky jsou dost složité, protože to znamená podrobné procházení a promýšlení kódu. Překladači nedělá problém efektivně využívat registry vícenásobně v různých částech. Člověk si to musí udržovat přehledné a kvůli tomu pak kód může být někdy i méně efektivní než od překladače. Proto je dobrá metoda psát program sice v C, ale současně sledovat listing v assembleru. Když je některá část přeložena neefektivně, tak často stačí jen upravit jinak zdroják, aby se to překladači jinak předhodilo, a když ne, tak až pak teprve přepsat příslušnou část do assembleru. Ale současně si nechat na přepínač i C zdroják - dobře se pak ověřuje funkčnost kontrolou zda to funguje stejně. Překladač obvykle nedělá chyby jako člověk.
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 18:40 Předmět:
Celeron napsal(a):
...Jde mi o praci na Woknech, pripadne na 8051 rade...
Jo a, řada 8051, na to je dobré použít Keil (Cx51 překladač s integrovaným prostředím). Free verze je sice omezená do velikosti kódu, ale dá se s tím celkem dobře vystačit (a v nejhorším je možné binárně skládat více modulů). Pozor ale, že některé starší typy Atmelů x51 nepodporují sériové programování SPI.
Andrea zkus třeba vypočítat hodnoty kmitočtů pro logaritmické rozmítání.
kmitočtový rozsah f0....f1 s tím, že oba kmitočty můžou ležet v rozsahu 1Hz - 20MHz rozlišení kmitočtu 24 bitů, celkový počet bodů pro rozmítání je 1001
proložení kvadratickou křivkou tady nefunguje
Založen: Apr 02, 2011 Příspěvky: 17951 Bydliště: Nový Bydžov
Zaslal: út prosinec 18 2012, 0:05 Předmět:
Tak jsem stahnul Dev-C++ a rozhejbal ho. Asi chodi, "Ahoj svete" me po prvnim prekladu napsal. Zacal jsem prochazet lekce, co jsem dal odkaz Forbidden. Jsem u dvojky a vidim to u sebe dost tragicky
Ach jo...
Jirka
Založen: Sep 19, 2007 Příspěvky: 3698 Bydliště: Praha
Zaslal: út prosinec 18 2012, 0:59 Předmět:
Tak jsem se díval na ten seriál. Nejsem si jist, že je pro začátečníka v C nejlepší, specielně pro někoho, kdo bude C používat na mikrech. První heloworldový program z toho seriálu v 1. lekci používá streamy a přetížený operátor, a kdo nezná C a nota bene C++ bude asi zmaten a znechucen.
Na čtenáře se hned v 1. lekci navalí hromada pokročilých věcí - namespaces, streamy, manipulátory, které pro porozumění už samy chtějí znalost C i C++. Aby autor seriálu vůbec něco vysvětlil, uchyluje se k brutálním zjednodušením, až, řekl bych ke zkreslením ve stylu
"<< je vkládací operátor do cout"
nebo
"musíte na konec souboru připsat cin.get();"
Řekl bych, že čtenář, začátečník, vůbec neví _vo_co_go_ a co a proč vlastně dělá. Možná jsem příliš konzervativní, ale tohle je příšernost. Doporučil bych klasiku, která vyšla i v češtině a po zvládnutí C pokračovat v případě potřeby s C++.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3Další
Strana 1 z 3
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.