pre amatera: c, mikroprocesor
Zdravim, zaujima ma ako vlastne funguje nahravanie programu do procesoru.
Aky je postup? ( staci zjedondusene)
Mikroprocesory (aj ked asi hovorim o mikrokontroleroch) beru iba c-cko? alebo je len najviac pouzivane?
Program dokazem spravim v programe co mi ho skompiluje do c-cka, ale co dalej? chcel by som si spravit nieco co sa dalo cez arduino, jednoducho nahrat program a mat par vstupov a vystupov
Podla coho vyberate typ procesoru? ide iba o pocet vstupno-vystupnych pinov? (pokial ide o jedonduchy program a nezaujima ma vypocetna rychlost)
Procesory berou strojový kód. Ten je výsledkem kompilace zdrojového kódu.
Tak tohle je zajímavý dotaz. Myslím, že zatím můžeš zapomenout, že existují nějaké mikroprocesory a strojní kód.
To na co se ptáš, už je IMHO kompletní počítač s nahraným SW (resp. FW) co umožnuje nahrát zvenku (obvykle z PC) uživatelský program a spustit ho.
Já s arduinem nemám co do činění, svého času jsem si hrál s tímhle:
http://www.parallax.com/sites/default/files/downlo ads/27218-Web-BASICStampManual-v2.2.pdf
to je podle mého názoru něco podobného, akorát asi jednoduššího a primitivnějšího. Programovalo se to v jazyce podobném BASICu, napsalo se to v PC a do BASIC STAMP se to poslalo prostřednictvím paralelního portu, kabel z paralelního portu se zapojoval do třech pinů co jsou nad nápisem PARALLAX, k patentkám na levé straně desky se nejdřív musela přicvaknout devítivoltová baterka a mohlo to fungovat, škoda, že už se to asi nesežene (a taky by se těžko shánělo PC s paralelním portem), pro začátečníky na první seznámení ideální. Mělo to osm drátů (P0-P7) co se nechaly nastavit jako vstupy nebo výstupy.
Můžeš prozradit nebo aspon naznačit, co s tím hodláš?
len ma to zacalo rochu viac zaujimat, nic konkretne nerobim. Cize program sa neda nahrat priamo do toho mikrokontrolera? myslim ked k tomu mam prislusenstvo
Strejda nechce fungovat? Ve škole vám nic nenaznačili? Kdybyste se doopravdy zajímal, pak se takto neptáte a také se trochu snažíte sám.
Definice jakéhokoliv CPU je jasná: "Je to blb, co přehazuje jedničky a nuly."
Mikrokontroler je samotný brouk (i když teď se různé názvy používají různě) co může mít v sobě programovou paměť. Třeba tady:
http://mikrokontrolery-pic.cz/zaciname/co-je-to-mi krokontroler/
Tam můžeš napálit program, obvykle prostřednictvím nějakého programátoru. Pak toho brouka zapojíš do nějaké desky kde je přivedené napájení a další věci co jsou potřeba k tomu, aby ten mikrokontrolér začal fungovat tak jak se od něj požaduje.
Například na tom obrázku co jsem ti poslal je mikrokontrolér ten mnohanohový brouk (aspoň myslím) vlevo od písmenek P3, P4. Má v sobě nahraný program (v tomto případě tam ten program nahráli u výrobce a uživatel už s tím nemá nic společného) co umožňuje komunikovat s připojeným PC a nahrát program uživatele (to je jakási nadstavba toho programu co už tam je a do kterého uživatel už nemůže zasahovat, leda by si na to vzal kladivo a majzlík). Ty další brouci mohou být paměti programu uživatele a dat.
takze mikrokontroler sam o sebe nepouzijem? musi to byt predsalen napr. to arduino?
co myslíš, dojedeš někam na motoru z auta, nebo potřebuješ celé auto?
Arduino nutně potřeba není, stačí nějaký AVR, pár ledek a napájecí zdroj a můžeš si naprogramovat třeba 3D kostku nebo běžící displej. Takhle jsem si spíchnul kostku 3x3x3
nieco tak jednoduchsie planujem...zatial nemozem zacat lebo nemam objednane veci, poradis mi co kupit? ak sa nemylim zatial mi postaci napr. atmega8 (je ich viac druhov, neviem v com sa lisia) a programovaci kabel s usb (nieco ako som linkol dolu)...treba este nieco aby som mohol zacat?
Jasně, že jich je více druhů. V čem by se asi mohly lišit ?! Jedině vlastnostma, materiál čipu bude vždy křemík.
Pořiď si ATmega32 nebo ATmega16, na tom se naučíš nejlíp, protože je to velký a mají celý porty /od 0 do 7/, ATmega8 je ořezaná. Takže si koupíš - ATmega32, programátor, nepájivé pole, 10x LED a odpory k nim. To ti pro začátek stačí. Začneš tím, že se naučíš programovat ten procesor, pokračovat budeš třeba blíkáním LED, dále světelným hadem atd. postupně budeš zvedat obtížnost. Hodně zajímavá je PWM modulace - tím se dá regulovat jas LED diody.
dakujem
Mikrokontrolér může být teoreticky samostatná součástka - nevím, kam šel vývoj, v posledních letech jsem se zajímal o něco jiného. Takže připusťme, že na dva vývody se připojí baterka, na další dva vývody dráty z PC kterými se nahraje program. A co dál? Ten mikrokontrolér může spustit nahraný program, program běží, ale navenek se nic nepozná, akorát brouk se zahřívá. Aby z toho bylo něco užitečného, musí se k mikrokontroléru připojit další věci, například klávesnička, displej, čidlo teploty, relé atd.
Narazil jsem třeba na stránky
mikrokontrolery
nebo na Slovensku
page.php
Ale prdlajs, samotný mikroprocesor /díle jen zkráceně uC/ využiješ. Je to normální integráč, který může dělat cokoliv na co si vzpomeneš - co do něj napíšeš, může třeba měřit napětí, frekvenci, převádět analog do digitálu atd. Je to prostě obvod, který zvládne všechno /skoro všechno/. Lidé ho vymysleli hlavně proto, protože dokáže ve složitějších aplikacích nahradit velký množství integráčů.
Výběr uC záleží na požadovaném výpočetní výkonu, většinou to úzce souvisí s frekvencí vnitřního oscilátoru. Pokud budeš blikat s LED diodou stačí ti malinký výkon, ale pokud třeba budeš měřit frekvenci, potřebuješ už řádově větší výkon.
Takže pokud se chceš naučit programovat, pak když to umíš, strašně to usnadní práci, věř, vím o čem mluvím, tak si kup nějaký programátor, uC a začni. Z vlastních zkušeností bych doporučil uC od firmy Atmel, protože programátor pro tyto obvody se dá postavit téměř zadarmo pomocí jednoho kabelu připojenýho na LPT port, složitější pak jedou přes USB. Navíc tyto uC jsou levnější než třeba konkurenční firma PICů se kterou vede neustálou válku a i programátoři se neustále hádají, který z nich je lepší. Nevím, je to na tobě, u mě vyhrál Atmel.
Ale prdlajs. Samotný uC nezvládne nic. Pokud má blikat s LED, musí se k němu připojit ta LED.
A počítačů s LPT už není moc.
Že uC je dobrá součástka co nahradí spoustu věcí je jasné. Ale samotný brouk bez ničeho bude začátečníkovi plat prtný.
A jako jak jinak jsi si to představoval ? To že do uC nahraješ program a on začne blikat ? Samozřejmně, že je potřeba k tomu to blikátko připojit, uCčkem si pouze navolíš frekvenci blikání a střídu, arduino by taky neblikalo, pokud bys tam nepřipojil tu LEDku. To samý to bude třeba při měření napětí, to uC to bude jen zpracovávat a následně zobrazovat na nějakým display, který je nutno připojit.
Tím mým prvním komentářem jsem chtěl říct, že nepotřebuješ žádný debilní arduino /jsem toho odpůrce/. Podle mě jsou to jen vyhozené peníze za něco, co si může postavit na nepájivém poli zadarmo. Však to arduino není nic jiného než naprogramovaný uC, který programuje další uC. Prostě proč to dělat jednoduše, když to jde složitě, že a navíc za to ještě platit.
Ohledně toho programátoru, téměř každý postarší počítač /stolní/ má LPT port. Pokud ho nemá nebo se jedná o NTB, tak se na Ebay/Aukru dají sehnat programátory za pár korun, který jedou přes USB.
Pro začátek doporučuji : Nejdříve se rozhodni jaký uCčka budeš programovat. Asi nejčastější jsou Atmel AVR nebo PIC, samozřejmně dají se naučit oba dva typy ale je to zbytečný. Pak si pořiď nepájivé pole, na kterém to budeš zkoušet, následné nějaký ten uC + programátor. Pak si na netu sežeň vývojové prostředí ve kterém budeš programy psát a nakonec nějakou knihu o programování, na netu jsou toho spousta, s tím ještě souvisí také jazyk ve kterém to budeš psát, dneska je nejrozšířenější jazyk C, doporučuji ho. A začneš, ze začátku tě to nebude bavit, protože je to hodně čtení a výsledky nikde, ale pak se to zlomí a začneš si to užívat Pak si můžeš napsat třeba vlastní meteostanici komunikující s PC - to jsem stavěl nedávno s kámošem.
Programování zdar.
Nevím proč se tu vůbec dohadujete. Osmnáctiletý hoch je poněkud... ehm.
Opravdu se domníváte, že pochopí nutnost pro danou platformu přeložit program do patřičné binární podoby (pomíjím interpretované programy)?
I v česku jsou podobní experti, třeba tenhle:
http://forum.zive.cz/viewtopic.php?f=920&t=1226015
http://forum.zive.cz/viewtopic.php?f=959&t=1208415
Tomuhle pánovi
michal-kolesa.cz
budiž mu země lehká, rostou zdatní pokračovatelé. Ale není se co divit - počítače, zařízení jejichž cena se v době ne zcela tak dávné pohybovala na úrovni slušného osobního auta se ted prodávají v qelbech s pečivem a skoro za cenu toho pečiva. A mnozí si představují, že je to tak jednoduché jako sníst dva rohlíky. Třeba tady:
http://pc.poradna.net/q/view/1355758-rozdil-v-cene -skladaneho-a-kupovaneho-pc
http://kutilska.poradna.net/q/view/101885-zapojeni -talcitek-do-usb
konecne niekot kto nepise z cesty, dakujem....
takze k tomu aby som urobil povedzem ten blikac potrebujem uC a programovaci kabel (mam ntb)
programovat ako tak viem, nie je to ziadna slava budem sa do toho musiet pozriet ale nepovedal by som ze zacinam na nule
na programovanie mozem pouzit matlab? robime na tom v skole a ma to vediet skompilovat Ccko- este som to neskusal
Ccko by som sa mohol nauict aj samostatne ale zatial chcem robit len lahsie vecia vidiet ze to funguje
A da sa uC preprogramovat? alebo dokaze nahrat len jeden program? ci zalezi od ceny?
Přiznejte si, že na to prostě nemáte. Když nejste schopen ani najít rozkres USB konektoru typu "A" a místo toho se v něm diletantsky šťáráte, pak tady tohle je už moc. Všechny informace jsou na síti Internet, včetně třeba stránek výrobců, ale ani to nejste schopen najít, nebo hůře, ochoten najít.
som to dobre na poradni.net? este ani raz si mi neporadil tak si chod mindraky liecit inde, nezaujimas ma a nepotrebujem vidiet tvoje prislepky, tak si ich prosim odpusti
Četl jsi vůbec to, co jsem napsal ?!
nejdříve si musíš vybrat jaký uC budeš programovat ! Od toho se odvíjí vývojové prostředí. Nevím, možná by to v Matlabu šlo, ale stejně pak ten céčkový kód potřebuješ přeložit do strojového kódu /.hex/, tomuto se říká kompilace a provádí ji kompilátor a právě tento kompilátor je integrován ve vývojovém prostředí uCčka, takže se tomu vývojovému prostředí prostě nevyhneš. Navíc, každý uC má jinak nastavený kompilátor, takže nejde použít jeden univerzální. Nevím, co je na to k nepochopení
PS:
Tohle snad ani nemá cenu komentovat, jak se na takovouhle píčovinu můžeš zeptat ?! Najdi si někde nějaký mikroprocesor a všimni co o něm píšou, většinou je tam údaj, kolikrát se zaručeně může uC přepsat, většinou jsou to jednotky tisíců, samozřejmně vydrží více, ale už to není zaručený výrobcem. To než ho zničíš zápisama, tak ti narostou fousy.
normalne sa nato pytam lebo tomu nerozumiem
chcel by som programovat atmel
takze matla mi to prelozi do Ccka ale ja potrebujem aj tak hex kod?
Ty jakožto programátor napíšeš zdrojový kód v jazyce C. Kompilátor tento tvůj kód přeloží do .hex, vytvořený .hex nahraješ přes programátor do mikroprocesoru.
Pokud chceš programovat Atmely, tak si na stránkách Atmelu stáhneš vývojový prostředí, jmenuje se to Atmel Studio, třeba zde : atmelstudio.aspx, pak budeš postupovat přesně tak jak už jsem několikrát popsal. Ještě bych doporučil najít na jůtubu nějaký videjko, jak se s tím dělá ....
nepoznas nejaky dobry navod podla coho by som mohol zacat? mam asi predsavu ale spravil by som to aj s rovnakymi suciastkami ako v navode lebo v tom sa tiez nevyznam
Je to marné!
Je to marné!
Je to marné!
Je to marné!
Je to marné!
...
www.geria.sk
http://svetelektro.com/modules.php?name=Search&cx= 002788149131686329656%3A8iwiz5rcilk&cof=FORID%3A11 &q=programujeme&x=0&y=0
Tady na tom jsem se naučil úplný základy, dokonce to máš slovensky. Ale někde v PWM modulacích má chybu, ale tu časem objevíš. Samozřejmně začneš od prvního dílu a vše budeš číst pořádně a hlavně to musíš pochopit, jinak je to k hovnu.
Má tam i celou knihu hned na začátku.
To bude šichta...
Já vím, ale v tý knize je asi 5 chyb v kódech a to se amatérovi docela blbě hledá.
http://www.ebay.com/itm/USBASP-USB-ISP-Programmer- 10-Pin-ISP-interface-Cable-AVR-ATMEL-ATMega-/17159 3740798?pt=UK_BOI_Electrical_Components_Supplies_E T&hash=item27f3c8b1fe
kym si to nastudujem, chcem si objednat ten kabel...toto je on? pre vsetky atmely rovnaky?
a preco je arduino tak pouzivane? ci len kvoli tomu ze sa lahsie programuje a ma uz zabudovane vstupy-vystupy?
protože je to velmi dobře navržená stavebnice právě s ohledem na začátečníky ve které lze od jednoduchých věcí plynule přejít ke složitým a protože je kolem toho silná komunita a na fórech je spousta příkladů a lidí ochotných poradit. Navíc lze za pár korun koupit desítky hotových modulů pro nejrůznější oblasti použití.
len nech som v obraze: vsetky tieto veci ale idu pripojit aj ku mikrokontroleru ze?
Arduino je mikroprocesor s nejakyma zakladnima soucastkama okolo - stabilizator zdroje, krystal a tak. Samozrejme doplnky k nemu pocitaji s jednoduchym ovladanim prez Arduino, ale kdyz si vezmes uC, krystal, par kondiku a dratku, tak to tim muzes ovladat taky. Jen to chce ty dratky natahat od spravnych nozicek ke spravnym vyvodum a do uC dat spravny program.
Tohle je funkcni ekvivalent arduina:
standalone