Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Cim zacit v C
Jdi na stránku 1, 2, 3  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Celeron



Založen: Apr 02, 2011
Příspěvky: 17861
Bydliště: Nový Bydžov

PříspěvekZaslal: po prosinec 17 2012, 10:02    Předmět: Cim zacit v C Citovat

Vazeni, co programujete v C, poradte jak nejlip zacit aby byl efekt u stredne tupyho cloveka co "nejkvalitnejsi a nejrychlejsi". Laughing 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
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
forbidden



Založen: Feb 14, 2005
Příspěvky: 8991
Bydliště: Brno (JN89GF)

PříspěvekZaslal: po prosinec 17 2012, 10:20    Předmět: Citovat

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á...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Panda38



Založen: Nov 21, 2012
Příspěvky: 717
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: po prosinec 17 2012, 13:01    Předmět: Citovat

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).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Davidus
Zablokován


Založen: Jun 01, 2005
Příspěvky: 2439

PříspěvekZaslal: po prosinec 17 2012, 15:24    Předmět: Citovat

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 Shocked
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po prosinec 17 2012, 17:39    Předmět: Citovat

Davidus napsal(a):
schválně, kdo by si troufl napsat pro 8bit MCU v asembleru funkci POW( ) pro 2 32bitové floaty? Já ne Shocked

A kdo potřebuje používat na 8-bitu 32-bit floaty? Nějakej pojídač koláčků neschopnej si vystačit s integerem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po prosinec 17 2012, 17:40    Předmět: Citovat

Panda38 napsal(a):
U jednočipů je sice assembler optimálnější, ale může příliš svazovat.

Assembler svazovat? Shocked A co to je optimálnější, to jako lepší než nejlepší?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 717
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: po prosinec 17 2012, 17:54    Předmět: Citovat

Chytáš za slovíčkaření. Smile 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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po prosinec 17 2012, 18:00    Předmět: Citovat

Panda38 napsal(a):
Proto je dobrá metoda psát program sice v C, ale současně sledovat listing v assembleru.

No to musí být opravdu velmi velmi efektivní, třeba zkoumat ten kód pro POW() pro 32-bit floaty, jestli to překladač přeložil nejoptimálněji. Very Happy Very Happy Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 717
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: po prosinec 17 2012, 18:40    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Davidus
Zablokován


Založen: Jun 01, 2005
Příspěvky: 2439

PříspěvekZaslal: po prosinec 17 2012, 18:52    Předmět: Citovat

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 Cry
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Celeron



Založen: Apr 02, 2011
Příspěvky: 17861
Bydliště: Nový Bydžov

PříspěvekZaslal: út prosinec 18 2012, 0:05    Předmět: Citovat

Tak jsem stahnul Dev-C++ a rozhejbal ho. Asi chodi, "Ahoj svete" me po prvnim prekladu napsal. Smile Zacal jsem prochazet lekce, co jsem dal odkaz Forbidden. Jsem u dvojky a vidim to u sebe dost tragicky Sad
Ach jo...
Jirka
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: út prosinec 18 2012, 0:59    Předmět: Citovat

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++.

I na netu je mnoho stravitelnějších seriálů.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út prosinec 18 2012, 7:53    Předmět: Citovat

Dovolím si doporučit Učebnice jazyka C od Pavla Herouta.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Panda38



Založen: Nov 21, 2012
Příspěvky: 717
Bydliště: Most, Praha, Lanžhot

PříspěvekZaslal: út prosinec 18 2012, 8:20    Předmět: Citovat

mtajovsky tak to je fakt šílenost, podle toho bych se nechtěl učit C Shocked
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
rnbw



Založen: Mar 21, 2006
Příspěvky: 33991
Bydliště: Bratislava

PříspěvekZaslal: út prosinec 18 2012, 9:11    Předmět: Citovat

Treba si uvedomit, ze C a C++ su dva rozne jazyky a nespajat ich dokopy. Ze sa mnoho programov v C da skompilovat kompilatorom C++ na tom nic nemeni.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.14 sekund