Mikrokontroleri

34 отговора 785 прегледа
#1

Mikrokontroleri

Zdravejte!

Interesuvam se kade moga da namerq informaciq, otnostno programirane na mikrokontroleri. S tova nikoga ne sum se zanimaval, i mi e pulna magla... Vse pak, imam interes da se naucha...

Sasto taka- koi e nai-podhodqstiq ezik za tazi rabota?

Pozdravi!

Ilia Yordanov,
[линк] ; C++ Resources
Отговор
в отговор на loobian #2

Re: Mikrokontroleri

Ами има твърде много и различни видове микроконтролери всеки предназначен за различна цел.
По принцип три са най-използваните метода:
Асемблер (специфичен за всеки микроконтролер)
C (обикновенно не е C++)
Java (често поради липса на JIT компилатор - бавна)

Ако има компилатор за C или JVM за микроконтролера който си избрал, направо зарежи асемблера.

Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
Отговор
в отговор на Rincewind #3

Re: Mikrokontroleri

Humm, ima i drugi ezici (Ada, Forth).
Pogledni edno sravnenie na:
[линк]
Viarno e che 60% ot horata polzvat C za takiva neshta, no tova ne znachi che 60% ot
horata polzvat nai udachnoto reshenie,
prosto na C nai lesno se namirat programisti.

Отговор
в отговор на loobian #4

Re: Mikrokontroleri

A-a-a, da.
Eto ti edna klasacia kakvi ezici se polzvat
za embedded programming:
[линк]

Отговор
в отговор на Rincewind #5

ne zarezvai assemblera!

otdeli nekolko dni v nacaloto da naucis assembelra ili mpone da se zapoznaes s nego!!!!! tova posle vinagi ste ti e polezno! ako pocnes napravo na C nikoga drug pat nema da naucis nikakav assembler!!! i nema da znaes kak vsasnost backa vaprosnia mikrokontroler!
a, za tova s JAVA-ta az ne sam srestal takova no mi zvuci ujasiavasto i kostunstvenno! kak taka JAVA!!

imase nekolko balgarski knijki... potarsi!

Отговор
в отговор на CALL-151 #6

Re: ne zarezvai assemblera!

Не знам дали знаеш, обаче първоначално Java-та е била замислена и предназначена писане на програми за микроконтролери, и за управление на битови и други уреди (кафемашини, хладилници, телевизори и други подобни). Обаче по различни причини не се е получило и сега всички си мислят че Java-та че най великият език за програмиране за PC-та.

Отговор
в отговор на ;) #7

Re: ne zarezvai assemblera!

daje syshtestwuwa spor zashto simwola na ezika e chashka s kafe... zashtoto e zapochnal kato ezik za kafewarki il izashtot parwata Java-native machina e imnala stranen dizajn silno napomnqsht kafevarka :))

Отговор
в отговор на SDR #8

Re: ne zarezvai assemblera!

Ama istinata e malko po razlichna.
Java e vid kafe, kakto i Moka i dr.

Отговор
в отговор на loobian #9

Re: Mikrokontroleri

vij [линк]
a za ezicite: trebva ti assembler na pyrvo miasto, moje i C (ne C++) ili Forth; biagai dalech ot Java-ta
triabva ti da znaesh sashto i malko (ili poveche hadrware)


Отговор
в отговор на ;) #10

Re: ne zarezvai assemblera!

neznaeh ce zatoav e zamislena JAVA-ta!
to mai neotskoro se pravat opiti za unificirane na softuera za mikrokontroleri!!!
ama misla c ene toav e nacina!

podiavolote! edna kafemasina se upravliava s nai tapia 8bitov procesor s 500bytes ROM i 16bytes RAM!

tova s javata sigurno iziskva.......
kakvo vsasnost iziskva?

Отговор
в отговор на CALL-151 #11

Re: ne zarezvai assemblera!

Който какво да говори, баз асемблер не става в embedded systems. Поне такава е практиката и реалността - освен асемблер най-много да е C, ама чисто и без разни шибани ++.
(някой ден нещата може да се променят, но днес това е полужението :)

Ама работата не е само до програмиране. Човек който работи в областта трябва да знае електроника поне на ниво от което може да контактува с хардуеристи.

За да се работи в областта е добре да се знаят и други технологии, които са популярни сред инженерите и физиците. Например голяма далавера е DSP (Digital Signal Processing). Който се интересува по въпроса може да си изтегли еда книга от адреса:
[линк]
В нея DSP е обяснено много добре и е много лесна за четене. За всички алгоритми са написани програмки. Има и някои неща за невронни мрежи, обработка на звук и образи, сонари, радари, компресиране, ... разгледани са и конкретни микропроцесори - тези на [линк]

Отговор
в отговор на loobian #12

Re: Mikrokontroleri

Аз съм работил известно време с процесори на Microchip ([линк]) и с едно някакво АМД май беше, но на него само съм поправял бъгове, не съм писал от начало. Моят опит показва следното:

Задължително е да знаеш асемблера и хардуерната структура поне на функционално ниво. Можеш да не разбираш много от електроника и какво става като сложат жичкаджиите резистор на пети крак, но само ако работиш в екип с някой който разбира.

За разработка на приложения си поиграй и с асемблера и със Ц-то (с друго не съм работил и не мога да давам съвети). Много е полезно да разгледаш как Ц-то компилира сорса, да се пробваш да го оптимизираш малко и т.н.
Между другото веднъж ми се случи компилатора да изкомпилира грешно един код и това го разбрах чак след два дена блъскане. Затуй - гледаш какво компилира, най-малкото за да видиш как го прави и дали не може някъде да се напише по-добре.

Гледам, че никой не ти препоръчва конкретен чип, та аз да кажа, че от PIC-овете на Майкрочип най-добре да хванеш 16F84 който е с флаш памет, при това доста голяма, а и паметта му за данни не е малко (ПИКовете не са със стандартната фонНойманова архитектура, ами кода и данните са в отделна памет)

Веднъж като си избереш платформа, има уебрингове и мейлинг листи на корем - там има специалисти, които се занимават с тия работи откакто са измислени и дават много ценни съвети.

Успех!

There's a crack, a crack in everything, that's how the light gets in...
Отговор
в отговор на Mopдpeд #13

малка забележка

По-добре е да не се захваща със 16-та серия а направо с 18-та. Нали трябва да се гледа напред?

Отговор
в отговор на darklord #14

Re: малка забележка

az misla ce e dobre da se zapoznaes i s klasikata: 8051

Отговор
в отговор на CALL-151 #15

въпросче

С опасение че пак ще започна едни безсмислен спор ще попитам : Защо си мислиш че 8051 е класика? Само защото то го използваш или поради някаква обективна причина? Питам защото наистина ми е интересно какво толкова му харесваш.

Отговор
в отговор на CALL-151 #16

Re: ne zarezvai assemblera!

Izcqlo sym suglasen s tebe! Ako e student i ako sega sqda da uchi - samo ASSEMBLER! Toi shte go nauchi na neshta, koito edwa li drug pyt shte moze da nauchi, shtoto edwa li drug pyt shte mu se nalozi da pishe na ASM (oswen ako ne raboti programirane na microcontrollers).

Отговор
в отговор на darklord #17

допълнение

съгласен съм с Мордред за PIC-овете: 16F84 е доста добър избор; също бих могъл да препоръчам (въждам, че никой не го е направил) Motorola - най-големия производител на MCU, там примерно може да се почне със 68HC11 направо щото моторолите са си класически и не е нужно човек да почва от А и Б...

BTW така и така сте опънали темата трябва да споделя, че е адски трудно в България човек да се реализира в тая област. Аз лично вече повече от 2 години се занимавам с глупости като Web и Win понеже няма добри оферти в сферата на MCU - всеки гледа по-лесното - Web-a и хоп: паричките при него... ... та случайно някой ако знае някъде интересен work с MCU да свирка

Отговор
в отговор на darklord #18

Re: въпросче

ami, ima hubavi i mnogo instrikcii, s udovolstvie se pise na assembler, ima hubav kompilator na C, mnogo e evtin (windond 78e58 $1.5 mai) tuka s eopira do konkretnata realizacia razbirase! moje da adresira 64K cod, i 64K DATA
kakvo oste?
ne e mnogo barz 1-2 takta instrukcia (takt=osc/12) pri turbo varianta obace primerno 77e58 osc/4
obace generira dosta kompakten kod! v nikakav slucai ne misla ce za nekav PIC moje da se napise po kratka programa!

inace istinata e ce za vseko prilojenie si ima nai podhodiast kontroler! tova se opredelia kakto i ot svoistvata na samia procesor(8,16bitov) ot tova kolko kodova pamet sadarja, ot tova kakkva RAM ima (ili moje da mu se dobavi vansno) tak ai ot tova kakvo dopalnitelni ustroistva ima v nego ( ADC, DAC, taimeri, comparatori, seriini kanali i t.n.)

za tova da se kajei ETO TOIA E NAI DOBRIA MIKROKONTROLER e nevazmojno!

obac eaz travra ce v nai obst smisal 8051 si e mnogo dobar kontroler! (maakr i parvia)

Отговор
в отговор на CALL-151 #19

Re: въпросче

... syvsem, syvsem ne e pyrvia obache kakto kazvash...

Отговор
в отговор на xyz #20

Re: ne zarezvai assemblera!

Na vishcki mnogo vi blagodarq za otgovorite... qvno ste se nalozi i ASM da ucha...

No vse pak, nikoi ne mi preporacha mqsto na koeto moga da vidq konkretno informaciq otnostno kak se pise software za microkontroleri... nesto za nachinaesti... zastoto az i predstava si nqmam kak bi izglezdala primerna programa...

Pozdravi!

Ilia Yordanov,
[линк] ; C++ Resources

Отговор