Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jači ili slabiji kontroler za početnike?

[es] :: Elektronika :: Mikrokontroleri :: Jači ili slabiji kontroler za početnike?

Strane: 1 2 3

[ Pregleda: 8696 | Odgovora: 44 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Jači ili slabiji kontroler za početnike?23.10.2011. u 23:02 - pre 152 meseci
Bogdane, ne slažem se baš da je 16F mrtav. Možda ti imaš bolje informacije ali ja na sajtu videh da od 101 koliko ih je u ponudi bar 10 su Future Product. Cenovno su bezobrazno džabe a imaju sve i svašta. No ta cena na početku nije tako ni bitna kao ni priča da li 16F ili 18F. Bitno je da ljudi krenu i rade. Cenim to što si ovde vrlo aktivan i pružaš svima pomoć. Tako vidim i ovu prepisku.
gorankg
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?23.10.2011. u 23:05 - pre 152 meseci
Citat:
rsinisa: Imam utisak da ti, Bogdane, i ja ne pričamo o istim početnicima. Imam utisak da ti pričaš o ljudima koji planiraju time da se bave u vidu zanata, a ja pričam o ljudima koji su za početak jednostavno zainteresovani da probaju malo to programiranje kontrolera jer im se zbog nečega dopalo. Probaće, pa ako im se svidi možda i urade nešto konkretnije, najpre za svoje potrebe ili da ostvare neku svoju ideju koja im se učini zanimljivom.


pricamo o istim ljudima :D samo imamo razlicito misljenje o tome sta je validan pocetak. Ja i za jednog i za drugog mislim da je bolje da uzme za pocetak arduino pa ce vec sam zakljuciti posle mesec dana sta ce dalje (dal mu to ide, dal ga to zanima, dal ce time da se bavi profesionalno ili hobijem) .. isto i za coveka od 65 godina koji je otisao u penziju i hoce malo da "se igra" i za onoga od 45 koji vise ne moze bez mikrokontrolera da zavrsi nijedan projekat dovoljno brzo ni dovoljno jeftino pa mora "i to da nauci posto ne moze vise sve sa 555" i za onoga ko ima 13 i zanima ga to da proba da ako ovde osvetli a ono se okrene na drugu stranu ... za sve njih sa svim potpuno razlicitim zahtevima mislim da je arduino najbolje resenje. Ako cemo o mchip-u onda opet za sve njih mislim da je 18F* idealno resenje za pocetak a nikako 16F* ili nedaj boze 10/12F

Citat:
rsinisa:znam da bi njemu sve jače od toga ubilo volju jako brzo.


u kom filmu bi mu jedan 18F25J10 "ubio volju" brze nego 16F628 objasni mi molim te ... znaci 628 ce da mu se smori kada proba da izracuna prvi komplikovani koeficijent za taj avion u floating point-u el ce da ostane bez flash-a. a ISTI TAJ KOD sa 628 u istom tom basic-u stavi na 18F25J10 i on ce da radi ... dakle .. kako ce to 18F25J10 da mu ubije volju ?! zato sto ako kazes na 18F25J10 float a = (b/c*d / 12.56 ) ^ 7 * 3.14159 ono ce da radi a na 628 ce posle drugog puta da kaze "your code is too big" ... ?!?!?!? Ako radi sa "Avionom" njemu je float neophodan, citace neke senzore (628 nema ni i2c ni spi a ako se dobro secam ni adc) ?!?! bas mcu za probu ubilo se ?!


Citat:
rsinisa: Verujem da je većina ljudi koji počinju slična njemu i o takvim početnicima ja pričam.


idealan primer bas za ljude o kojima ja pricam ... njemu 30$ za arduino dzabe, arduino se pravi u italiji, italijanski projekat, gomila literature na talijanskom ... za njega - idealna sprava, ima gomiletinu "shieldova" za arduino koji se bave time sto njemu treba .. IDE projektovan za ljude koji nisu okrenuti elektronici nego hoce da nesto odrade brzo i efikasno ...


Citat:
rsinisa:plaćamo svi mi korisnici

nije bas sve tako jednostavno ... opet se sve svodi na cenu rada i cenu hw-a. Ima i dalje aplikacija koje su mnooooooooooogo optimizovane i pisane zastrasujuce dobro ali te aplikacije kostaju zastrasujuce mnogo. Radni sat kvalitetnog programera je jako skup. Jaci komp je jako jeftin. Hoces da platis windows + word 400E i da teras to na 400E kompjuteru, ili jos bolje da na tom istom 400E kompjuteru teras dzabe linux i dzabe open office ili ces da na kompu od 200E teras neki super optimizovani os sa super optimizovanim gui-em i super optimizovanim tekst procesorom koji kostaju 2000eur ?! veruj mi, mnoooogo ti je jeftinije da das 200E vise za komp...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?23.10.2011. u 23:23 - pre 152 meseci
Citat:
goran_68: ne slažem se baš da je 16F mrtav


ma nije "skroz" mrtav .. kao sto ni 16F84 nije mrtav ... mchip je vec dva puta prestajao da ga proizvodi i vec dva puta je pravio po novu seriju ... postoji previse ljudi koji imaju hex za ovo i ono i nemaju pojma sta je to, pise da radi na 16F84 i hoce 16F84 .. pogledaj samo koliko kosta danas 16F84, vidi se da je mchip u fazonu "oces, evo ti ga na"... isto tako i ostali 16F-ovi ... doduse ono sto kazu iz mchip-a je da 90% toga ide kao OTP, a tu znamo da svaki cent znaci ...

Citat:
goran_68:kao ni priča da li 16F ili 18F


zasto ja mislim da jeste jako bitna prica 16F ili 18F je zato sto je 18F familija MNOGO JACA a kosta ISTO ili malo vise. Ja sam spomenuo da sam se godinama smarao sa '51 i onda napravio duuuuuuuuuugu pauzu ... i onda sam se vratio na piconje .. i to sasvim slucajno (danas bi odabrao atmel kao glavni mcu, nikako mchip no to je neka druga prica) .. ja sam se odlucio za pic zato sto mi je trebalo nesto za neki projekat i uzeo sam jedan modul od dlp-a da bi zavrsio taj projekat. Za 100$ sam dobio taj modul koji na sebi ima neki ftdi2232 ili 232 ne secam se vise i 16F877A i dobio sam PICC (verzija samo za 10F - 16F, dakle ne rade 18F i jaci sa njim). I zavrsio sam tu taj projekat za 2-3 dana, video kako 16F877A je isti djavo kao i '51 samo mnogo bolji, zdrakno malo asm njegov, video da je slican ko motorolin (sto me obradovalo posto nisam ljubitelj intela po tom pitanju) .. napravio par testova i zakljucio kako su te piconje do jaja ... kupovao picove u kelco-u (tada radio klubu) i bio srecan sa 877, 628, 617, 619 i ekipom .. gledao sam ja datasheet-ove od 18F serije ali posto su toliko bolji a i posto ih moj kompajler nije tretirao ja sam iz taka mislio da su oni "strasno skupi" (ni ovi 16F nisu bili jeftini u radio klubu uopste !!!). Onda mi je opet zatrebao neki usb a posto organski ne podnosim da lemim one piko pitch ftdi-e ja reko aj cu probam taj 18F4550 pa sta mi bog da ... da vidim programator vidim pickit2 kazu svuda da je najbolji, kod nas ga kao niko ne prodaje i na microchip-ovom sajtu pronadjem C18 (nisam znao pre toga da postoji) i link na comet u srbiji kao zastupnika ... odusevljen zovnem ih telefonom, saznam da imaju pickit2 na lageru otrcim tamo, kupim pickit2 i priupitam za cene picova ... kupim 18F45550 koji je bio jeftiniji nego tada 16F628 u radio klubu bar 30%!!!! potpuno zbunjen a onda daljim pregledom cena skontam da su svi picovi kod njih od 30% do 90% jeftiniji nego u radio klubu ... tu naravno ja prekrizim radio klub sa spiska radnji gde kupujem mikrokontrolere (za atmel je do sada najjeftinije sto sam nasao tagor btw) i pokrenem onaj moj "spisak" kako bi jos po nekome pomogao da osim radio kluba i mikroprinca ima jos po neka radnja u srbiji .. tu zapocne moje malo ozbiljnije bavljenje piconjama posto sam skontao da za iste pare za koje sam ja placao 16F628 mozes da kupis "koji god bre oces pic" u comet-u, 8bitne, 16bitne, 32bitne .... i da je razlika izmedju 16F i 18F u ceni minimalna a u performansama i lakoci programiranja ogromna, da je C18 odlican kompajler (a pri tome dzaba) etc etc ... e, u zadnjih nekoliko godina, sreo sam mnogo ljudi koji su i dalje u zabludi da 18F kosta "mnogo vise" nego 16F - ne kosta, kosta ISTO ili neznatno manje ili neznatno vise .. tako da - za hobi - posebno za "pocetak" zasto gubiti vreme sa 16F ?! .. evo zadnji projekat koji sam ja pravio pravio sam sa 16F690 (zato sto sam u svom neznanju u jednom trenutku kupio preko 100 komada el nisam mogao da verujem koliko su jeftiniji nego sto sam ih pre toga nabavljao (a i nisam hteo toliko neko samo 20 ali stigno 200, onda sam ja fala bogu podelio sa drugarom pa je meni stiglo jedno 140 a on je uzeo 60) pa sam ih imao ko blata pa sam eto sa njim napravio projekat) ... dakle mozes ti da iskoristis 16F nije on za bacanje, ali ako je varijanta da ti za "ucenje" uzmes 16F za 200 ili 18F za 300din .. daj, nema teorije da se 16F tu isplati !!!


 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Jači ili slabiji kontroler za početnike?23.10.2011. u 23:55 - pre 152 meseci
Šta će njemu matematika u pokretnom zarezu za RC model aviona, on hoće da kontroliše svetla i posle da doda još neku kontrolu za flapsove. Ni meni, koji sam u PIC-evima oko 15 godina, do sada nije bila potrebna FP matematika. Imao sam potrebe za decimalama, ali sam to rešavao na drugi način i to vrlo lako.
Vidiš, i ti si počeo sa 16F serijom i bio srećan sa njihovim mogućnostima, a isto tako se danas oseća moj drugar, APSOLUTNI početnik u tom svetu. Vrlo je moguće da će i on jednog dana da se pita zašto je počeo sa 16F (ako se ozbiljno zainteresuje), ali iz ovog ugla njemu je to ODLIČNO za početak, baš kao što je i tebi bilo. Elem, ja sam dovoljno rekao na ovu temu, nemam više šta novo da kažem, ima tu još ludi koji možda žele da iznesu svoje mišljenje i poglede na temu.

Pozdrav.
Sinisha

P.S. Možda bi bilo dobro da se oglasi i neki početnik, neko ko je od nedavno u ovim vodama ili ko je povremeno odradio nešto jer je imao potrebe.
Evo, recimo ovo je meni interesantan stav:
http://www.elitesecurity.org/p2977032
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Jači ili slabiji kontroler za početnike?24.10.2011. u 00:12 - pre 152 meseci
Citat:
rsinisa: I kaži ti meni sad šta bi ti njemu rekao, koji mcu da uzme za početak i koji programski jezik?

Engleski.
Covjek koji ne moze da cita datasheetove nema sta da se zamlacuje.
To je isto kao da kazes "Ima jedan sljepac koji bi da se bavi streljastvom, koji bi ti njemu pistolj preporucio...."

Cijene procesora kao silicijuma su danas postale beznacajne. Uglavnom sto se placa to je elektromehanika - pinovi, kucista, pakovanja....
Ako ti treba 50 I/O pinova skoro je svejedno koje je jezgro u pitanju, vecinu para ces dati za zicetine, plastiku i keramiku na tom cipu, s tim sto ces za starije cipove platiti redovno vise zato sto odrzavanje stare proizvodne linije koja obicno proizvodi manje cipova nego neka nova kosta fabriku vise.

Bez obzira koliko nekom nesto "odgovaralo", covjek koji se time bavi i misli da se time bavi, mora u nekoj mjeri odrzavati korak sa novim tehnologijama, alatima, trendovima, pa cak iako mu to trenutno ne odgovara. Tako je to. Ako jednom puno zaostanes kasnije tesko stizes.
U tom smislu je besmisleno ukljucivati se danas u igru sa necim sto je jos prije 10 godina bilo zastarilo.

Sto se tice asemblera: vecina danasnjih procesora se projektuje tako da budu optimizovani za C. Ne znam ni za jedan proizveden u poslednjih 10 godina koji nije projektovan sa time u vidu.
U tom smislu skoro je nemoguce nadmasiti netrivijalni kompajlirani C-program u brzini i velicini rucno pisanim asemblerom.
A jedina stvar u kojoj ima smisla koristiti asembler su jednostavni mali programi bez mnogo zapetljavanja i skakutanja, a C programi se danas na danasnjim jezgrima i u tom segmentu kompajliraju skoro perfektno tako da ni tu nema smisla koristiti asembler, pa prvi dio recenice otpada.
Svi proizvodjaci isporucuju biblioteke za sve periferije pisane u C-u, tako da ko hoce da koristi asembler mora biti nesto u srodstvu sa Sizifom i Tantalom.
Kako raste kompleksnost programa tako vreme potrebno da se to obavi asemblerom raste eksponencijalno u odnosu na neki visi programski jezik. Isto tako se povecava i broj bagova, efikasnost programa opada, a velicina raste.

Drugo, ko se ikad bavio programiranjem bilo cega ili ucestvovao u bilo kakvom takvom projektu zna da ca. 80% vremena otpada na debagovanje, a kasnije na odrzavanje. Debagovanje i odrzavanje asemblera je beskonacno besmislenije, skuplje, sporije, teze, neefikasnije i neproduktivnije od nekog viseg programskog jezika, a pravi pako nastane kad orginalnog programera asemblerske konfuzije zamjeni neki zamjenski programer. A kod asemblera nema nikakvog standarda: svako ima svoju verziju for petlje, pa se ti slikaj sa svojim asemblerskim iskustvom kad necije tudje iskustvo izgleda potpuno drugacije.

Asembler se odavno izbacio iz skola, a forsira se njegovo izbacivanje iz industrije iz gore pobrojanih razloga. C++ je sve zastupljeniji u embedded sistemima, a neki vec uveliko pokusavaju sklepati Java Virtual Machine u hardveru, tj. napraviti procesor koji ce hardverski podrzavati Java instrukcije.

Ovo je industrija u kojoj vecina stvari zastarjevaju za nekoliko godina. To je jednostavno priroda ove oblasti. Kao sto rekoh - besmisleno je ukljucivati se u igru sa necim sto je dosad zastarilo ne jednom nego 5 puta, bez obzira na razlog. A ako neko ipak odluci tako - onda on ustvari nece da se bavi mikrokontrolerima nego mikrokontrolerom. A to je velika razlika.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?24.10.2011. u 00:48 - pre 152 meseci
Citat:
rsinisa: Šta će njemu matematika u pokretnom zarezu za RC model aviona,


ako ce da to turi u RC model aviona pokretni zarez mu je vise nego neophodan. Dodatno mu je neophodno da cita podatke sa accelerometra (ili analogni ili spi ili i2c, 16F628 ne moze ni jedan ni drugi ni treci tip senzora da cita !!!), sa gyro-a (analogni ili spi ili i2c opet), eventualno sa nekog barometra za visinu (opet uglavnom i2c)... a za racunicu polozaja uz pomoc accelerometra i gyro-a mu treba pokretni zarez ako zeli ikakvu tacnost (rad sa "budzenim" integerima gde cuvas broj pomnozen sa 100 ovde ne radi posao zato sto se gubi previse na tacnosti) tako da za RC model 16F628 predstavlja jedan od najgorih mogucis kontrolera koji nekome mozes da preporucis !!

I ne, nije mi bilo dobro sa 16F za start, bilo mi je previse ograniceno i da nisam imao ovoliko iskustva u programiranju kada sam radio sa istim ne bi bilo sanse da onaj kod uguram u 16F, da sam znao da 18F kosta toliko koliko kosta ustede bi sebi dane i nedelje beskorisnog posla

Citat:
Odin D.:
Bez obzira koliko nekom nesto "odgovaralo", covjek koji se time bavi i misli da se time bavi, mora u nekoj mjeri odrzavati korak sa novim tehnologijama, alatima, trendovima, pa cak iako mu to trenutno ne odgovara. Tako je to. Ako jednom puno zaostanes kasnije tesko stizes.
U tom smislu je besmisleno ukljucivati se danas u igru sa necim sto je jos prije 10 godina bilo zastarilo.


Amin.

To je izgleda u celoj zemlji problem, na fakultetu se uce stvari koje su zastarele pre 40 godina a ne koriste se vise nigde aktivno vec 10 i onda se pitaju zasto te ljude niko nece da zaposli ...


 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?24.10.2011. u 00:53 - pre 152 meseci
Citat:
rsinisa
Evo, recimo ovo je meni interesantan stav:
http://www.elitesecurity.org/p2977032


To nije covek koji hoce da se bavi mikrokontrolerima vec je covek koji hoce da mu neko napravi LC metar a on ima 16F84 koji je izvadio iz kontrolera za kafemat .. niti ga zanima kako to radi, niti ga zanima u kom je programskoj jeziku pisano ni kako da ga adaptira, hoce gotov hex da upuca u parce plastike koje slucajno ima na stolu. Moze i da proda ta 4 kontrolera koja ima i da kupi arduino ali bi onda morao da se potrudi da instalira software, pa da ga kompajlira, pa da ga uploaduje u arduino .. to je previse posla, ako moze nesto gotovo ....

ako pricamo o takvim ljudima kao pocetnicima, onda je cela prica bespredmetna, neka kupe onaj mcu za koji su pronasli hex na internetu i neka ga upucaju u mcu i neka uzivaju .. samo ako ti tog coveka smatras pocetnikom onda imamo ne razlicito misljenje o tome sta je pocetnik, nego se ne nalazimo u istoj sferi razmisljanja / drustva / zivota

EDIT: da me ne svati neko pogresno, nemam ja nista protiv coveka koji hoce nesto gotovo, covek ima problem i hoce da ga resi, ja samo kazem da to nema nikakve veza sa "pocetnikom i mikrokontrolerima"

[Ovu poruku je menjao bogdan.kecman dana 24.10.2011. u 02:09 GMT+1]
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?26.10.2011. u 21:34 - pre 151 meseci
Citat:
Odin D.: Sto se tice asemblera: vecina danasnjih procesora se projektuje tako da budu optimizovani za C. Ne znam ni za jedan proizveden u poslednjih 10 godina koji nije projektovan sa time u vidu.

Ovo nisam bas najbolje shvatio pa ako mozes pojasni malo. Koliko je meni poznato, svaki pa i microchip-ov C kompajlira se pomocu MPLAB asemblera.

Moji favoriti za MCU su sledeci:

1. Apsolutni pocetnik, jos nije prelomio da li je hobista ili profi - 16F84/628 i PicBasic

2. Pocetnik sa tendencijom ozbiljnijeg bavljenja kontrolerima - 18F serija i Microchip C18

3. Profesionalac - da batali PIC kontrolere i uzme nesto ozbiljnije

U vezi asemblera - daleko od toga da nije potreban. Mnoge aplikacije traze visoku preciznost petlji, jos ni u jednom prog. jeziku (C, Pascal, Basic) nisam uspeo da to postignem osim direktnim asemblerom i racunanjem broja programskih koraka. Mnoge logicke i matematicke operacije cesto su lakse izvodljive delimicnim direktnim asembler kodom nego visim programskim jezikom.
73 de Zele YU2AX
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?26.10.2011. u 21:49 - pre 151 meseci
Citat:
bogdan.kecman: ako ce da to turi u RC model aviona pokretni zarez mu je vise nego neophodan. Dodatno mu je neophodno da cita podatke sa accelerometra (ili analogni ili spi ili i2c, 16F628 ne moze ni jedan ni drugi ni treci tip senzora da cita !!!), sa gyro-a (analogni ili spi ili i2c opet), eventualno sa nekog barometra za visinu (opet uglavnom i2c)... a za racunicu polozaja uz pomoc accelerometra i gyro-a mu treba pokretni zarez ako zeli ikakvu tacnost (rad sa "budzenim" integerima gde cuvas broj pomnozen sa 100 ovde ne radi posao zato sto se gubi previse na tacnosti) tako da za RC model 16F628 predstavlja jedan od najgorih mogucis kontrolera koji nekome mozes da preporucis !!


Koliko sam ja shvatio Sinisu, covek je trazio nacin kako da sa postojece stanice na RC modelu (predpostavljam da je helikopter, posto su ta svetla sad popularna na njima) jedan komandni kanal upotrebi za svetla, za sta je dovoljan 12F629/675 i to sa 1/4 popunjenosti programskim kodom. Inace, bas bih voleo da vidim modelara koji ce da rizikuje sa prototipom PIC komande (po ne znam kojoj ceni) kada ima da kupi vise nego sofisticirane stanice cija cena je reda 20-30 dolara, sa sve 2.4GHz primopredajom, kutijom, i svim ostalim ... ;)

73 de Zele YU2AX
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Jači ili slabiji kontroler za početnike?26.10.2011. u 22:42 - pre 151 meseci
Citat:
YU2AX: Ovo nisam bas najbolje shvatio pa ako mozes pojasni malo. Koliko je meni poznato, svaki pa i microchip-ov C kompajlira se pomocu MPLAB asemblera.

Jezgro procesora se hardverski pravi tako da ima arhitekturu i masinske instrukcije takve da se C-kod efektivno prevodi na njih.
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?26.10.2011. u 22:51 - pre 151 meseci
Citat:
Odin D.: Jezgro procesora se hardverski pravi tako da ima arhitekturu i masinske instrukcije takve da se C-kod efektivno prevodi na njih.

Procitaj jos jednom sta si napisao, odgovorice ti se samo. Zapravo si mislio da je C optimizovan prema asembleru koji ga prevodi na masinski. Arhitektura procesora nema sa C-om nikakve veze, a ponajmanje se prilagodjava njemu. ;)
73 de Zele YU2AX
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 04:20 - pre 151 meseci
Citat:
YU2AX: Zapravo si mislio da je C optimizovan prema asembleru koji ga prevodi na masinski. Arhitektura procesora nema sa C-om nikakve veze, a ponajmanje se prilagodjava njemu. ;)


:D .. ne mislio je to sto je napisao, arhitektura procesora je napravljena tako da je asm koji se dobije prevodjenjem C-a optimalan za taj mcu. Asm koji pises rucno je za taj procesor vrlo neoptimalan ...

ako i dalje nije jasno
- hex koji izgenerise C kompajler ce biti manji, brzi i u svakom slucaju optimalniji od bilo kog hex-a koji ti napises u asembleru u realnom vremenu
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 07:24 - pre 151 meseci
U stvari, to sto nazivate prilagodjenom arhitekturom C kompajleru odnosi se na "extended" set instrukcija koji je pridodat 18F seriji, i koji barata sa novim tipom stack memorije kod ove serije. Za razliku od 18F ranije serije imale su stack koji je radio kao protocni bojler, bez mogucnosti provere prekoracenja. Posto je konacno napravljen pravi stack sa kontrolom uveden je novi set asemblerskih (da ne kazem masinskih) instrukcija. Inace, ovakav stack kao kod 18F serije ja sam jos sretao na 68HC11 i ostalim kontrolerima, pa opet se za njih ne moze reci da su svoju arhitekturu prilagodili nekim visim programskim jezicima. Kao visi programski jezik, C ima mogucnost lakog rada sa dinamickim varijabilama, sto se eto poklopilo sa "Top-of-stack" funkcijom kod 18F, i njenim koriscenjem u radu. Cela fora je upravo u kompajliranju, tj. prevodjenju na masinski kod, i zavisi iskljucivo od kvaliteta kompajlera koji vrsi optimizaciju C koda. Hardver je hardver kako god okrenes i razume samo masinski (hex) kod.

Da li mislite da 18F serija ima poboljsan tip stack-a samo zbog C kompajlera? Hmmm ... sumnjam.

Pre bih rekao da se radi o unapredjenju same serije zbog nedostataka ranijih. Interesantna je cinjenica to sto Microchip ima samo C od visih programskih jezika. Da koristi Pascal, Basic ili PHP, verovatno bi arhitekturu i njima prilagodio.

Pozdrav

[Ovu poruku je menjao YU2AX dana 27.10.2011. u 08:35 GMT+1]
73 de Zele YU2AX
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 07:44 - pre 151 meseci
nijedan proizvodjac mikrokontrolera ne koristi nista osim C i asm. Rade na tome da implementiraju java engine u hw-u ali basic i pascal postoje za bilo koji mcu samo kao 3rd party projekti a 90+% tih projekata propadne posle manje od 2-3 godine .. ni TI ni motorola ni filips ni ST ni renesanse ni cypress .. ni bilo ko od vecih mcu proizvodjaca nema u ponudi ni basic ni pascal .. a za ove velike (da ne kazem profi) pascal i basic ne postoje ni u 3rd party varijanti

ono sto je kod 18F serije bitno (da ima ikakve veze sa ovom pricom) je to sto ce C kod koji izgenerise C kompajler raditi bolje a biti napisan brze nego asm kod koji napise covek. O toj optimizaciji se radi. za 16F to ne mora da bude (i uglavnom nije) tacno, dok za 10/12F i neko ko je daleko od strucnjaka moze da napise asm koji ce biti optimalniji od rezultata c kompajlera.

Ono sto ja mislim da je za ovu temu bitno, dakle za pocetnike, je da ce pocetnik mnogo brze doci do cilja ako radi u C-u nego u ASM-u. Sa mnogo manje maltretiranja ce zavrsiti posao. A onda kada prestane da bude kompletni pocetnik, moze sam da odluci da li da uci asm i do koje mere, daleko od toga da ASM ne treba i da je neupotrebljiv, koristim ga ja danas i za sistemske i desktop aplikacije a kamoli za embedded, ali asm nije nesto od cega danas mora da se pocne, cak naprotiv, po meni je to apsolutno pogresan nacin da se pocne, zato sto ces bilo koji normalan projekat u bilo kojoj firmi pisati u C-u sa jednom dve funkcije pisane u asm-u. Ceo projekat u asm-u ces pisati extra retko u extra retkim slucajevima a to kada ti se desi imaces dovoljno iskustva da ce te bas biti briga sta pise na forumu da je dobro za "pocetnike" :D
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 08:57 - pre 151 meseci
Slazem se potpuno oko C i njegove prakticnosti, to nije sporno, kao i uostalom svaki visi programski jezik u odnosu na asembler. Sam C jezik je zapravo tekstualni kod slozen prema nekom programskom algoritmu i primenjiv je na MCU tek posle kompajliranja. Sam kompajler je sustina, efikasno generisan kod zavisi od njega. Nisu ni svi C jezici podjednako zgodni za koriscenje (http://www.elitesecurity.org/p2962591) sto opet zavisi i od biblioteka koje idu uz njih. Za pocetnika je ovo svakako najznacajnije jer tek uci da koristi MCU. Nasa misljenja jedino se razlikuju oko slozenosti, tj. da li je bolje poceti od jednostavnijih ili odmah preci na slozenije kontrolere. Koriscenje viseg programskog jezika se podrazumeva, pa ako se kasnije tokom ucenja dovoljno napreduje, moze da se preskoci cak i asembler pa da se kod pise kao masinac direktno u hex fajl :)

Sama arhitektura MCU je prica za sebe. Na njemu se izvrsavaju samo masinske instrukcije. RISC kontroleri poznati su po malom broju instrukcija, mada zbog sve vece slozenosti arhitekture i integrisanosti velikog broja periferija, ovo polako prestaje da bude pravilo. Od pocetnih 35 sada mislim da se stiglo na preko 120 instrukcija kod dsPIC serija.

Poreklo, tj. nacin generisanja tih instrukcija hardveru nije ni poznat ni bitan. Od vestine programera, a u velikoj meri i od kvaliteta prevodioca (kompajlera) tekstualnog u masinski, zavisi koliko ce taj kod biti optimizovan. Sa sve vecim brojem instrukcija visi programski jezik (npr konkretno C) postaje neophodan. Ipak, nisu te nove instrukcije uvedene zbog prilagodjavanja arhitekture visem jeziku vec je, obrnuto, C kompajler usavrsen da sto efikasnije njih podrzava.

Konkretno, ranije serije PIC-eva prakticno nisu imale pravu kontrolu stack-a, vec deo memorije koji je funkcionisao kao FIFO, ono sto se prvo stavi na stack prvo bude i prebrisano ako se stack prekoraci. Kako u visem programskom jeziku nemamo direktno uvid u koriscene "call" skokove, a oni opet zavise od koda i biblioteka sa gotovim funkcijama, desavalo se da bude nekontrolisano velik broj skokova i krahiranja programa. Bolji kompajleri brojali su skokove i prijavljivali greske ali nesto konkretno nije moglo da bude odradjeno, morao je programer da optimizuje kod.

Sa 18F serijom, vecim stackom i registrima dodeljenim kontroli stacka, kompajler moze da otimizuje izvorni kod tako sto pravi dodatni pomocni stack ako je pravi pun ili prekoracen, pa posle kako se program odvija polako vraca vrednosti sa pomocnog u radni stack i tako odrzi program da ne krahira. Opet, to ne moze da se nazove prilagodjavanjem arhitekture C jeziku, vec radikalnim poboljsanjem nove serije kontrolera. Zasto je to tako nazvano u Microchip-ovoj literaturi meni apsolutno nije jasno, i nema mnogo veze sa logikom.

73 de Zele YU2AX
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 09:08 - pre 151 meseci
veci deo ovoga sto si napisao je nesto sa cime se slazem ali ne kapiram kakve veze ima sa temom :D

ako sam te dobro skapirao i ti mislis da je bolje da pocetnik pocne sa visim programskim jezikom a 18F radi bolje sa visim programskim jezicima nego 16F (razlozi su abitni) ..

sto se tice "zasto me mchip" dodavanje pravog stack-a i jos gomilu promena nazvao "optimizacija za C" je posebna tema (oni jesu to uradili da bi gnuc mogao da generise bolji kod za pic a sad da li je to dobar ili los naziv ..)
 
Odgovor na temu

YU2AX
Vršac

Član broj: 268437
Poruke: 260



+48 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 09:30 - pre 151 meseci
PicBasic radi savrseno sa 16F serijom i ima mnostvo dobro uradjenih i lako primenljivih funkcija, tako da C nije jedina solucija. Pascal takodje. Na kraju krajeva, pocetniku je vazno da program proradi i da nauci koriscenje registara i setovanje modova MCU. Slabiji kontroleri imaju prilicno manje registara i setovanja od 18F serije pa ih je lakse nauciti. Cim pocetnik prvi put dodje do limita memorije normalno je da ce potraziti veci i bolji kontroler. Ali do tada je vec naucio sta su registri, kako pristupa perifernim jedinicama, kako bira tip oscilatora, WDT i slicno. To je vreme kada ce mnogo lakse nauciti 18F nego odmah na startu. Zamisli samo koliko ce vremena potrositi dok ukapira da mu program ne radi ne zato sto je pogresno napisan, vec zato sto nije znao da treba da npr. iskljuci A/D i komparatore za digitalni rad porta (primer za recimo 16F84/628 i 876 kontrolere). Koliko mogucnosti za takve propuste ima kod 18F serije? Pa i u skoli prvo smo ucili slova pa tek onda gramatiku i pisanje sastava, zar ne?
73 de Zele YU2AX
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 09:51 - pre 151 meseci
sa 18F moze da ima samo manje problema nego sa 16F. a to sa adc-om je problem kada pokusavas da pustis kod za '84 na nesto sto je projektovano i proizvedeno u ovom veku ... fuse bitova na 18F ima vise manje isto kao i na 16F a default vrednosti su bolje na 18F nego na 16F tako da tu sigurno nema problema, bez da ista konfigurise osim oscilatora (a to je isto i na 16 i na 18) 18 ce mu zablinkati led ... tako da prica o "vise registara" je po meni glupost, ne mora da koristi nijedan ako nece ...

sto se basic-a tice, ja mislim da je to jaaaaaaaaaaaaaaaako pogresan jezik za bilo koga i da ce mnogo vise stetiti i osakatiti coveka nego sto ce mu pomoci. znam da se mnogi nece sloziti samnom ali ja posle 25+ godina iskustva sa programiranjem i preko 60 programskih jezika koje aktivno koristim mogu knjigu da napisem o tome koliko je basic pogresan jezik za pocetnike ..

da ne duzim .. ovo je primer za 18F4520 koji dolazi uz MPLAB.X i C18 -

Code:

#include "p18cxxx.h"

void delay();

void delay() {
    int counter = 0;
    for (counter = 0; counter<10000; counter++) {
        ;
    }
}

void main(void) {
    TRISB = 0;
    while (1) {
        PORTB = 0x0F;
        delay();
        PORTB = 0x00;
        delay();
    }
}


Aj da mi neko kaze zasto je ovo komplikovanije od istog tog koda na 16F ?!?!?! o kojim "registrima" mi pricamo ?! po cemu je to 18F "suvise komplikovan pa je bolje da prvo potrosi pare na beskoristan 16F da se ne bi zagubio u sili registara" .. !??!?!?


 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Jači ili slabiji kontroler za početnike?27.10.2011. u 11:25 - pre 151 meseci
Citat:
YU2AX: Procitaj jos jednom sta si napisao, odgovorice ti se samo. Zapravo si mislio da je C optimizovan prema asembleru koji ga prevodi na masinski. Arhitektura procesora nema sa C-om nikakve veze, a ponajmanje se prilagodjava njemu. ;)

Ne, mislio sam tacno ono sto sam napisao.
Ako ne poznas tu problematiku dovoljno, bolje je da ne ulazimo u tu pricu samo na osnovu licnih pretpostavki, jer je to za zasebnu temu, a i detalji toga nisu mnogo bitni za ovu temu.
Sustina je da projektanti hardvera CPU-a prave isti tako da bude optimalan za C jezik i C kompajlere, a ne za neke druge jezike, i da je na tim jezgrima covjeku skoro nemoguce napisati brzi i manji kod u asembleru rucno nego sto ce mu ga izbaciti kompajler iz C-koda. I to nisu "tamo neki" lijevi procesori, nego maltene svi koji nesto znace u ovoj industriji.
A drugi aspekt toga je vreme. Sve i da nekom podje za rukom da to postigne - radi se o tome da ce mu za istu stvar trebati 10 dana opustenog rada u C-u i godinu dana rintanja u asembleru.
 
Odgovor na temu

introitus
Srbija

Član broj: 9252
Poruke: 324
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Jači ili slabiji kontroler za početnike?28.10.2011. u 13:15 - pre 151 meseci
Da iznesem svoje misljenje.

Za onog ko se odluci za 8-bit PIC mislim da je 18F ubedljivo najbolji izbor.
Ako se vec neko odlucuje za PICove jer ima na netu gotov projekat (sa sve izvornim kodom) za 16F ili 12F i dalje je bolji izbor 18F, uz malo citanja datasheet eto prepravljenog koda za 15min.

Sa mikrokontrolerima sam se sreo par par godina i to sa 18F452.
Posto mi za prvi projekat nije trebalo toliko pinova izabrao sam 18F1220 (najmanji iz 18F serije).
18F1220 ima isti broj pinova kao i 16F84, brzi je, ima bolju arhitekturu, vise implementiranog hardvera, nema smaranja sa bankama i prilicno je jeftiniji!
Isti ASM kod (koji sam pisao za 1220) sam uz sitne izmene prilagodio za vise razlicitih 18F mikrokontrolera (bilo bi jos lakse da sam savladao C ali nikako da se uhvatim istog), a namucio sam se kad sam trebao veci deo koda da prenesem na 12F (te banke, te komplikovaniji config, te duzina reci 14bit umesto 16 - ne toliko bitno za taj moj kod ali opet da navedem). Ko pise u ASMu (i/ili C-u) ima u help-u MPLABa Config za 18 seriju, za 10,12 i 16 nema.
Meni je mnogo lakse da konfigurisem 18F od 12F (u isti kos upadaju 16F i 10F).

Kad sam se raspitivao sa kojim uC da pocnem kod ljudi koji se godinama bave time, manje vise su mi svi rekli uzmi ili 18F ili AVR, kad ih savladas posle ce ti biti svejedno na koji ces preci. Niko nije pomenuo 16F ili Atmel '51. S'obzirom da mi je PIC bio blizi i dalje se bakcem sa istim.
I da, rekli su mi da se malo poigram sa ASMom i posle predjem na C i meni je to odavno postalo jasno ali nikako da se odlucim za taj korak. Kad resim da ucim C verovatno cu postaviti temu ovde pa se nadam korisnim smernicama i savetima.

Nadam se da ce nekom pocetniku gore napisano biti korisno.

Pozdrav



 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Jači ili slabiji kontroler za početnike?

Strane: 1 2 3

[ Pregleda: 8696 | Odgovora: 44 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.