Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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)

Předmět Autor Datum
Procesory berou strojový kód. Ten je výsledkem kompilace zdrojového kódu.
Wikan 23.12.2014 14:52
Wikan
Tak tohle je zajímavý dotaz. Myslím, že zatím můžeš zapomenout, že existují nějaké mikroprocesory a…
Yarda 23.12.2014 15:27
Yarda
len ma to zacalo rochu viac zaujimat, nic konkretne nerobim. Cize program sa neda nahrat priamo do t…
jesus-pd 23.12.2014 18:00
jesus-pd
len ma to zacalo rochu viac zaujimat Strejda nechce fungovat? Ve škole vám nic nenaznačili? Kdybyst…
ms 23.12.2014 19:09
ms
Mikrokontroler je samotný brouk (i když teď se různé názvy používají různě) co může mít v sobě progr…
Yarda 23.12.2014 20:41
Yarda
takze mikrokontroler sam o sebe nepouzijem? musi to byt predsalen napr. to arduino?
jesus-pd 28.12.2014 21:48
jesus-pd
co myslíš, dojedeš někam na motoru z auta, nebo potřebuješ celé auto?
touchwood 28.12.2014 22:18
touchwood
Arduino nutně potřeba není, stačí nějaký AVR, pár ledek a napájecí zdroj a můžeš si naprogramovat tř…
mia 06.01.2015 21:17
mia
nieco tak jednoduchsie planujem...zatial nemozem zacat lebo nemam objednane veci, poradis mi co kupi…
jesus-pd 11.01.2015 13:03
jesus-pd
Jasně, že jich je více druhů. V čem by se asi mohly lišit ?! Jedině vlastnostma, materiál čipu bude…
antibalda 11.01.2015 18:53
antibalda
dakujem
jesus-pd 12.01.2015 22:01
jesus-pd
Mikrokontrolér může být teoreticky samostatná součástka - nevím, kam šel vývoj, v posledních letech…
Yarda 28.12.2014 22:33
Yarda
Ale prdlajs, samotný mikroprocesor /díle jen zkráceně uC/ využiješ. Je to normální integráč, který m…
antibalda 28.12.2014 22:46
antibalda
Ale prdlajs, samotný mikroprocesor /díle jen zkráceně uC/ využiješ. Je to normální integráč, který m…
Yarda 28.12.2014 23:04
Yarda
A jako jak jinak jsi si to představoval ? To že do uC nahraješ program a on začne blikat ? Samozřejm…
antibalda 28.12.2014 23:51
antibalda
Nevím proč se tu vůbec dohadujete. Osmnáctiletý hoch je poněkud... ehm. Opravdu se domníváte, že poc…
ms 29.12.2014 08:02
ms
I v česku jsou podobní experti, třeba tenhle: http://forum.zive.cz/viewtopic.php?f=920&t=1226015 ht…
Yarda 29.12.2014 08:23
Yarda
konecne niekot kto nepise z cesty, dakujem.... takze k tomu aby som urobil povedzem ten blikac potre…
jesus-pd 03.01.2015 12:06
jesus-pd
Přiznejte si, že na to prostě nemáte. Když nejste schopen ani najít rozkres USB konektoru typu "A" a…
ms 03.01.2015 12:37
ms
som to dobre na poradni.net? este ani raz si mi neporadil tak si chod mindraky liecit inde, nezaujim…
jesus-pd 03.01.2015 16:08
jesus-pd
Četl jsi vůbec to, co jsem napsal ?! Pro začátek doporučuji : Nejdříve se rozhodni jaký uCčka budeš…
antibalda 03.01.2015 12:53
antibalda
normalne sa nato pytam lebo tomu nerozumiem chcel by som programovat atmel takze matla mi to prelozi…
jesus-pd 03.01.2015 16:11
jesus-pd
Ty jakožto programátor napíšeš zdrojový kód v jazyce C. Kompilátor tento tvůj kód přeloží do .hex, v…
antibalda 03.01.2015 17:36
antibalda
nepoznas nejaky dobry navod podla coho by som mohol zacat? mam asi predsavu ale spravil by som to aj…
jesus-pd 03.01.2015 17:47
jesus-pd
Je to marné! Je to marné! Je to marné! Je to marné! Je to marné! ...
ms 03.01.2015 17:51
ms
www.geria.sk
jesus-pd 03.01.2015 17:59
jesus-pd
http://svetelektro.com/modules.php?name=Search&cx= 002788149131686329656%3A8iwiz5rcilk&cof=FORID%3A1…
antibalda 03.01.2015 19:43
antibalda
Má tam i celou knihu hned na začátku. ...Upozorňujem čitateľov že je potrebná aspoň základná znalos…
ms 03.01.2015 20:06
ms
Já vím, ale v tý knize je asi 5 chyb v kódech a to se amatérovi docela blbě hledá.
antibalda 03.01.2015 20:15
antibalda
http://www.ebay.com/itm/USBASP-USB-ISP-Programmer- 10-Pin-ISP-interface-Cable-AVR-ATMEL-ATMega-/1715…
jesus-pd 06.01.2015 17:01
jesus-pd
a preco je arduino tak pouzivane? protože je to velmi dobře navržená stavebnice právě s ohledem na…
jirka44 06.01.2015 19:06
jirka44
len nech som v obraze: vsetky tieto veci ale idu pripojit aj ku mikrokontroleru ze?
jesus-pd 06.01.2015 20:32
jesus-pd
Arduino je mikroprocesor s nejakyma zakladnima soucastkama okolo - stabilizator zdroje, krystal a ta… poslední
gilhad 13.01.2015 01:25
gilhad

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://pc.poradna.net/file/view/20908-stamp-jpg]
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

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.

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.

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ý 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/.

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.

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.

Četl jsi vůbec to, co jsem napsal ?!

Pro začátek doporučuji : Nejdříve se rozhodni jaký uCčka budeš programovat. Asi nejčastější jsou Atmel AVR nebo PIC

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:

A da sa uC preprogramovat?

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.

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

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.

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

Zpět do poradny Odpovědět na původní otázku Nahoru