[ rsinisa @ 22.10.2011. 06:04 ] @
Pošto smo upali čoveku u temu sa raspravom koja generalno nema veze sa pitanjem, reših da otvorim temu da svako ko ima nešto da kaže na ovu temu može da "olakša dušu". Evo ja ću prvi.

Slažem se ja da je besmisleno počinjati sa nekim zastarelim procesorom ili kontrolerom, ali ako se neko već odlučio za odredjenog proizvodjača, mnogo je bolje da počne sa slabijim varijantama najpre zbog toga što mu je materija nepoznata, a danas su novi kontroleri pretrpani hardverom i opcijama pa to može samo da izazove konfuziju ili da znantno oteža učenje. A pošto proizvodjač ima dosta modela u okviru neke familije, onda je posle lako preći na neki opcijama bogatiji kontroler.
Kad su u pitanju PIC-evi, slažem se da ne treba uzimati 16F84, ali ne toliko zbog njegove zastarelosti koliko zbog cene. Po meni, sasvim dobar izbor (kad su u pitanju PIC kontroler) su 16F628 ili 16F88 jer ovaj drugi ima i AD konvertor, ali kad se prisetim mog prvog susreta sa AD-om i frustracije zbog nestabilnosti rezultata, možda je bolje za početak izbeći ga.
Naravno, ovo je sve samo moje mišljenje i ne znači da sam u pravu. Ja sam, recimo, ateista i nikada neću da tvrdim da sam ja u pravu, da je moj stav ispravan za sve, ali za mene jeste. Takodje, ima ljudi koji lakše nešto savladaju ako ih odmah bacite u vatru, dok neki lakše uče postepeno.
Na kraju krajeva, nisam još čuo da je recimo vozač autobusa naučio vožnju na autobusu, pre će biti da je počeo sa nekim automobilom. Takodje verujem da su svi piloti DC10 ili MIG29 prve letačke časove imali na avionu tipa CESNA, mada su mikrokontroleri ipak nešto drugo, ali princip je isti, sve su ostalo nijanse :).
Eto, ja rekoh moje mišljenje, ne tvrdim da sam u pravu.

Sledeeeeći ...

Pozdrav.
Sinisha

[ goran_68 @ 22.10.2011. 09:08 ] @
Za učenje vožnje Yugo. Za PIC 16F628, 16F819 može i 16F88. Posle ideš dalje. Ne valja kad tu kao ja i ostaneš :). Šalu na stranu ali početnik treba da krene od jednostavnijih stvari. Jednostavan PCB koji će sam da projektuje (jeftinije i praktičnije od razvojnih sistema sa 96 tastera i 20 LED dioda!?) i jednostavni aseblerski primeri. Posle vozi po želji.
[ bogdan.kecman @ 22.10.2011. 12:46 ] @
ne slazem se ni sa jednim ni sa drugim ... i to fundamentalno ..

prvo treba da odlucis da li hoces da pravis projekte koji se prave u "nekoliko" primeraka ili ces da pravis nesto sto ce da se prodaje u stotinama hiljada primeraka. Tek kada doneses tu odluku mozes da ides dalje zato sto ta odluka visestruko utice na sve naredne odluke.

1. ako ces da radis "nekoliko" primeraka (hiljade projekata ali koji se prodaju u nekoliko primeraka)
- bas te briga da li mikrokontroler kosta 2 ili 5 dolara
- kompletno nisi normalan ako koristis ASM, posto razvoj u visim programskim jezicima (basic, pascal, c, c++) traje visestruko krace, kod je reusable, maintainable, readable ... (jeste asm moze da bude, pod uslovom da ga mnoooogo dobro znas, optimalniji, ali obzirom da te bas briga da li mcu kosta 2 ili 5 dolara, uzmes onaj od 5 i bas te briga)
- cena razvojnog okruzenja (kompajleri, debageri, simulatori, programatori ...) je vrlo vazna (sta vredi sto je mcu jeftin ako programator, debager i kompajler kostaju 5000eur)
- kvalitet i dostupnost datasheet-ova i application note-ova je jako vazan
- uvek je lakse uzeti "najjaci" mcu iz familije koja vas zanima (za pic 8 bitnu familiju to je neki 18F, za atmel 8bitnu familiju neki ATMEGA ..) po mogucstvu na nekom jeftinom dev kitu (pogledaj na primer za 10$ kompletan dev kit, sa programatorom i debagerom za 32bitni STM32 mcu cortex m3 - STM32VLDISCOVERY - dakle za 10$ imas sve sto ti treba da krenes da radis sa 32bitnim mcu-ovima) ...
- "novi kontroleri pretrpani hardverom i opcijama pa to može samo da izazove konfuziju ili da znantno oteža učenje" je po meni potpuno pogresna postavka. Jeste imas ADC ali ne moras da ga koristis, imas 10 timera, DMA, seriski port, CAN, LIN, USB ... pa sta, ne mora tvoj prvi projekat da koristi SVE ... standardni hello world je blinkanje ledare ... to ces isto brzo da napises za 18F2550 kao i za 16F84 (koji je zastareo, prevazidjen mcu 3-4 PUTA SKUPLJI od 18F2550) ... da se ne vracamo opet na metafore, kako god okrenes lakse je na 18F2550 nego na 16F84 osim ako neces da pises asm, a vec rekoh, ako ces da pises asm za "nekoliko primeraka" moras ozbiljno da razmislis da li radis posao optimalno, za pocetnika je to absolutno pogresno .. za "Starog i iskusnog korisnika" je vec druga prica

2. ako ces da radis stotine hiljada primeraka (a nekoliko projekata) stvari su potpuno naopacke
- mnogo je bitno da li je mcu 1 ili 1.1$ posto na stotine hiljada komada ...
- mnogo je bitno da koristis najoptimalniji moguci nacin da skucas program u mcu, u najvecem procentu to je asm, posto ce dodatno (ne jeftino vreme) za razvoj da se isplati "na kolicinu"
- cena razvojnog okruzenja je vise manje nebitna (na tu kolicinu cena okruzenja predstavlja jaaaaaaaaaaaako mali fragment vrednosti projekta)
- nemas "data sheet"-OVE .... radis sa jednim/dva uredjaja koje vrlo dobro poznajes
- nema "jaci", "slabiji" mcu .. odluke se donose tako da se nadje mcu koji "Tacno odgovara", dakle visak hw-a u mcu-u ti moras da platis, na stotine hiljada komada - to kosta
...

Dakle ako ces da napravis kontroler za bozicne sijalice koji ce da se pravi u milion primeraka, mnooooogo je bitno da ga spakujes u najjeftiniji mcu koji postoji dok ako ces da pravis kontroler za javljanje pozicije kucnog ljubimca koji ces da napravis za sebe i najboljeg prijatelja bas te briga da li delovi kostaju 11 ili 15 eura ...

Ako ces da ucis, uvek krenes od "nekoliko primeraka" varijante, kada sa tim steknes neko iskustvo znaces "Sta ti fali" da bi mogao da radis hiljade komada ..
[ bogdan.kecman @ 22.10.2011. 12:53 ] @
Citat:
goran_68: jednostavni aseblerski primeri


cemu ... ja sam 10 godina programirao u asembleru (end user aplikacije, igre, demoe ..) i onda sam shvatio gde sam se .... znam asm za sve moguce i nemoguce procesore i mikrokontrolere... potpuno beskorisno znanje... jeste, kada treba da se debaguje dump koji izbaci SPARC 64bitni cpu uvale ga meni posto "on cita hex i debagira to, daj ludaku nek se on smara sa tim", bas sam se usrecio ... za normalan rad na mcu-u danas ti asm treba isto koliko i za windoze programiranje ... zasto bi se neko maltretirao sa istim .. ako mu zatreba, lako ce nauciti .. predstavljati isti kao "obavezan za ucenje" je pogresno, mora se svatiti da su vremena kada smo "mi" pocinjali drasticno razlicita u odnosu na vreme sada ... ja sam '51 MORAO da pisem u asm-u, kada su stigli basic i C to je bilo super ali i dalje si pisao skoro sve u ASM-u posto ni basic ni C nikako nisu bili dovolno upotrebljivi (kod je bio preglomazan a '51 je bio malecan) ... ali danas uzmes '51 i on trci na 400MHz i ima usb, dma.... vremena se menjaju, ako to ne prihvatimo pregazice nas
[ rsinisa @ 22.10.2011. 13:52 ] @
Ajd da se osvrnem na par stvari:
Citat:
goran_68: Za učenje vožnje Yugo. Za PIC 16F628, 16F819 može i 16F88. Posle ideš dalje. Ne valja kad tu kao ja i ostaneš :).

Pretpostavljam da bi ti išao dalje, tj. na neki jači mcu da si za tim imao potrebe. Ja sam nekada trošio izmedju 700 i 1000 16F627-ica godišnje, sada se taj broj znanto smanjio, ali i dalje mi je on sasvim dovoljan u većini primena. Koristio sam i 18F seriju par puta kada sam za tim imao realne potrebe koje su se uglavnom svodile na količinu programske memorije i mislim da većini korisnika nije neophodno sve što jedan moderan, hardverom natrpan mcu nudi.

Citat:
Jednostavan PCB koji će sam da projektuje (jeftinije i praktičnije od razvojnih sistema sa 96 tastera i 20 LED dioda!?) i jednostavni aseblerski primeri

Protivnik sam velikih razvojnih sistema koji imaju na svakom pinu LED i taster, i šta sve ne jer razvojni sistem treba da služi tome što mu ime kaže, a ne da se na njemu finalizira neki proizvod. Kad se nauči rad sa 2, 3 tastera i 2, 3 LED, posle je sasvim lako prebaciti taster na bilo koji pin.

Pozdrav.
Sinisha
[ rsinisa @ 22.10.2011. 14:06 ] @
Citat:
bogdan.kecman: ne slazem se ni sa jednim ni sa drugim ... i to fundamentalno ..

To je dobro što se ne slažeš, početnicima treba što više osvrta na ovu temu od iskusnih kako bi sami odlučili šta je za njih najbolje.

Citat:
prvo treba da odlucis da li hoces da pravis projekte koji se prave u "nekoliko" primeraka ili ces da pravis nesto sto ce da se prodaje u stotinama hiljada primeraka.

Mislim da ovde gledaš iz ugla nekoga ko već zna šta hoće i čemu teži. Mislim da početnici imaju sasvim drugu dilemu, a to je najpre da se odluče za odredjenu familiju koja će njima u startu da bude laka za učenje, da mogu problematiku da savladaju na najbrži i najlakši način i da što pre dodju do rezultata. Verujem da retko ko od početnika zna tačno šta hoće da pravi.


Citat:
- bas te briga da li mikrokontroler kosta 2 ili 5 dolara

Ima tu istine, ne sporim, ali većina početnika su srednjoškolci ili studenti koji ionako u ovim kriznim vremenima nemaju dovoljno novca i mislim da će da gledaju da u startu prodju što jeftinije. Sad neko može da kaže da ne treba ni da se bave time ako nemaju 5$ za učenje. I sa tim mogu da se složim, ali dok početnik prikupi šta mu sve treba, 2 po 2 pa se skupi :).

Citat:
kompletno nisi normalan ako koristis ASM, posto razvoj u visim programskim jezicima (basic, pascal, c, c++) traje visestruko krace, kod je reusable, maintainable, readable

Ne kažem da programi treba da se rade kompletno u asembleru, ali neke ozbiljnije stvari jednostavno ne mogu da se odrade bez ASM-a u nekim programskim jezicima. Plus što sam imao primere i u PBP-u i u PROTON-u da kompajleri ne rade ono što sam ja hteo pa sam morao da gledam generisani asm da bih video gde je problem. Po meni, poznavanje asm-a može samo da koristi.

Citat:
dakle za 10$ imas sve sto ti treba da krenes da radis sa 32bitnim mcu-ovima) ...

Ako je to tako, podržavam maksimalno ako neko želi da počne sa tim kontrolerima.

Citat:
- "novi kontroleri pretrpani hardverom i opcijama pa to može samo da izazove konfuziju ili da znantno oteža učenje" je po meni potpuno pogresna postavka. Jeste imas ADC ali ne moras da ga koristis, imas 10 timera, DMA, seriski port, CAN, LIN, USB ... pa sta, ne mora tvoj prvi projekat da koristi SVE ...

Tu bih mogao opet da se vratim na onaj deo o ceni kontrolera i tome šta je nekome potrebno od hardvera.

Sa ostatkom se manje-više slažem ili nemam šta pametno da kažem. U svakom slučaju, još jednom da napomenem da je dobro ovde izneti svoje stavove pa će početnici moći sami da odluče koja je varijanta za njih najbolja. Sto ljudi, sto ćudi; sto žena ... ....

Pozdrav.
Sinisha
[ bogdan.kecman @ 22.10.2011. 14:31 ] @
Citat:
rsinisa: Mislim da ovde gledaš iz ugla nekoga ko već zna šta hoće i čemu teži. Mislim da početnici imaju sasvim drugu dilemu, a to je najpre da se odluče za odredjenu familiju koja će njima u startu da bude laka za učenje, da mogu problematiku da savladaju na najbrži i najlakši način i da što pre dodju do rezultata. Verujem da retko ko od početnika zna tačno šta hoće da pravi.


Ako ne moze da se odluci da li ce da krene da pravi 100000 primeraka necega ili 2 onda je to ozbiljan problem ... doduse ako tek pocinje, nekako mi se tesko cini da ce da pocne sa 100000 komada ..

Citat:
rsinisa:
ali većina početnika su srednjoškolci ili studenti koji ionako u ovim kriznim vremenima nemaju dovoljno novca i mislim da će da gledaju da u startu prodju što jeftinije. Sad neko može da kaže da ne treba ni da se bave time ako nemaju 5$ za učenje. I sa tim mogu da se složim, ali dok početnik prikupi šta mu sve treba, 2 po 2 pa se skupi :).


nije 2 po 2, pricamo o tome da li ce da ulozi cca 3000dinara i obezbedi sebi sve sto mu treba da krene da se bavi time, tj pitanje je da li ce da da 2850din ili 3250din ... zao mi je ali ako mu je puno 3000din da ulozi u taj projekat morace da odabere drugi hobi / drugu profesiju. Mada ja ne znam nijednu profesiju za koju je 3000din dovoljno za pocetak !!!! i zidar mora da kupi bar spaklu i mistriju i to vec kosta vise od 3000din ... znam da je nemastina, ali ne pricamo o 3000eur, nego o 3000din...

to je jos "skuplja" varijanta koja mislim da je mozda za blisku buducnost jeftinija za pocetnika posto ima mnogo vise primera i resursa na netu za picove i atmele nego za ove 32bitne mcu-e, ali za 10$ (mene je preko technodis-a na primer izasao oko 1100din u beogradu taj razvojni alat) uzmes STM32 Discovery plocku na kojoj imas sve sto ti treba


Citat:
rsinisa:
ali neke ozbiljnije stvari jednostavno ne mogu da se odrade bez ASM-a u nekim programskim jezicima.


vidi, NEKE stvari ne mogu da se odrade bez 100000eur, evo ja pokusavam vec neko vreme da kupim gajbu i za ove pare koje ja imam nude mi samo gajbe sa pivom, kakve to veze ima sa bilo cim

Citat:
rsinisa:
Po meni, poznavanje asm-a može samo da koristi.


Naravno, da poznavanje asm-a moze samo da koristi, ali pricamo o tome sta je najbrzi i najjednostavniji nacin da neko pocne. Ako neko ima "nik" za programiranje naucice C mnogo brze nego ASM i mnogo ce pre imati nesto sto radi ... kada naleti (posle xyz meseci) na problem za koji mu treba malo asm-a vec ce imati dovoljno iskustva i znanja da to malo asm-a docuka... nema potreba zbog toga da prolazi muke tantalove i cuka asm bez razloga mesecima zbog toga sto ce jednom u buducnosti malo asm-a da mu treba
[ veselinovic @ 22.10.2011. 21:35 ] @
Hmm, ASM ili c?
Pitanje mnogo staro, a odgovor jednostavan. Cini mi se da je Bogdan to fino opisao.
Elem, kad sam ja pocinjao cijena hardvera je bila mnogo skuplja od cijene rada, sada je cijena rada drasticno skuplja, pa je logicno izbor na c ili neki drugi visi programski jezik.
Bejzik je jako dobar, ali ima predrasuda jos dok je to bio interpreter ( spectrum i komodor).
Bejzik je nekako laksi od c-a za pocetnika.
No, najcesce je najlakse napisati sam kod.
Fol je u algoritmu ( skoro isti za bilo koji jezik) i u okolini kontrolera.
Kad se to skucka kod je sega.
[ Darko Zivkovic @ 23.10.2011. 12:49 ] @
Prava tema svaka cast , slazem se sa vama i u pravu ste i jedan i drugi Sinisa i Bogdan mada kako vas ko shvati i razume .Ja konkretno sam poceo bas onako kako je Sinisa napisao , poceo sam sa PIC16F628 , 12F675 , 16F84 itd i polako ucio jer su mi ovi cipovi bili dostupni i imao sam exemplove za njih dosta objasnjenja kao pocetniku koji nije znao nista o tome tako reci pa sam sa njima vezbao , modifikovao ,pisao neke programe koji meni trebaju itd.

Citat:
"novi kontroleri pretrpani hardverom i opcijama pa to može samo da izazove konfuziju ili da znantno oteža učenje"

Meni se upravo ovo desavalo jer nisam znao u startu da podesim razne parametre za ono sto meni treba jer nisam znao sa cime se uopste susrecem .Nisam znao u smislu prakticnog rada drugo je citati , uciti ,a drugo je sprovesti to u delo jer dzaba meni u tom trenutku poznavanje strukture mikrokontrolera kada su u pitanju finese ,a zbog toga je trebalo citati i citati o datom kontroleru da bi dosao do zeljenog rezultata sto je meni pravilo problem hteo sam nesto lakse i brze da naucim i ono sto je najbitnije sprovedem u delo .

Citat:
mislim da većini korisnika nije neophodno sve što jedan moderan, hardverom natrpan mcu nudi.

upravo tako , sa ovim se slazem u potpunosti mada sam ja jos pocetnik u ovoj oblasti i ucim svaki dan , jos dosta stvari mi nije jasno makar prakticno ih izvesti ali uz dosta citanja i ucenja uspevam resavati skoro sve probleme na koje naidjem jer kada se setim samo pocetka i moje teme koja jos uvek postoji sada sam za razliku od tada bas dosta napredovao i drzim se Sinisinog saveta koji jos od tada postujem ,a to je ''citati ,citati i samo citati'' na cemu se jos jednom zahvaljujem .Puno pozdrava
[ bogdan.kecman @ 23.10.2011. 13:35 ] @
darko, velika je razlika da li kreces "sad" ili "pre par godina" ...

1. pre "par" godina je 16F* bio mnogo jeftiniji od 18F* a sada je obrnuto
2. pre "par" godina nije bilo dobrog i jeftinog/dzaba high level kompajlera za 18F* (za 16F ne postoji ni sada)

Ako kreces sa 16F ti si u startu zakucan na ASM (ako pricamo o pocetnicima bez para, nemaju 100E za PICC ili MikroC/MikroPascal/MikroBasic ili jos mnogo vise para za neke druge poput hitech..) i onda imas sve te probleme "kako da konfigurisem xyz".

Ako kreces sa 18F ti imas DZABA kompajler+IDE od microchip-a
Ako kreces sa ATMEGA ti imas DZABA kompajler (GCC) + DZABA IDE (winavr i ekipa)

Kompajler se brine o tim stvarima, ti napravis projekat, odaberes koji ce mcu da trosis, on ti sam na vrh inkluduje odgovarajuci header i vozi misko, nemas apsolutno nista da brines o tome da li si ovo ili ono sa ovim ili onim ...


Da ne spominjem Arduino. To je za te pocetnike ubedjljivo najjaca platforma danas. Jedini problem je sto se ne prodaje kod nas pa ga ja zato ne spominjem (mada ako neko zdrakne limundo, kupindo etc moze da naleti na isti). To je tek jednostavno, okacis na usb, startujes ide i vozi misko .. ne postoji konfiguracija, nista vezano za direktan hw nemas .. imas funkcije tipa "digital_output(brojpina), analog_input(broj pina) ..." .. pesma za pocetnika .. brrrrrrrrrrrdo primera (vise nego za 16F84 i 16F628 zajedno), brdo periferije koja dolazi sa svojim primerima ... ogroman community ...


Dakle sta hocu da kazem, asm je koristan ali smor za pocetnika, kada nauci neki "visi" jezik lako ce uturiti u njega par linija asm-a kada mu zatreba ili pisati sve u asm-u kada dodje na nivo da mu to treba, u startu mi je neki basic ili c hiljadu puta brzi i jednostavniji. Ako ce da pise u C-u onda u startu mora da zaboravi te osakacene prehistoriske mcu-e kao sto je 16F84. Jeste ima basic za 16F84, koliko kosta? (to sto moze da se ukrade je informacija sa kojom ne bi trebalo da se donosi tako ozbiljna odluka!!!)

Sa 18F moze da krene full free (dzaba mplab/mplabx + C18 + neke sitne pare za mcu).

I da podsetim, arduino je, danas, 100000000x bolji, laksi, jednostavniji, jeftiniji alat za pocetnika po svim kategorijama koje neko moze da osmisli. Jedini problem je sto smo u grbavoj zemlji pa narucivanje iz inostranstva radi na "foru" a domaci prodavci krompira, kupusa, elektronike, racunara, olovaka, papira, malina, kupina nisu jos culi za taj arduino pa ga jos ne prodaju ..

btw ako nekog zanima, ja sam najjeftinije Arduino nasao ovde (salju za Srbiju, moze da se plati i internet vizom ne mora paypal, jedini problem je sto roba iz kine putuje 3-4 nedelje):
Arduino UNO - ovo je najnovija verzija arduina "manjeg" - 30$
Arduino MEGA 2560 - ovo je najnovija verzija arduina "veceg" - 65$

[ goran_68 @ 23.10.2011. 15:10 ] @
Ima džaba i za 10/12/16 familije HI-TECH C:
http://www.microchip.com/stell...eId=1406&dDocName=en542849
Razlika u veličini koda koju dobiješ pomoću LITE verzije i verzije koja ima mogućnost za optimizaciju je zaista velika ali to početniku ne bi trebalo da pravi problem. Ja ne insistiram na tome da treba da bije po asm do ludila ali bi valjalo da zna šta se to dešava unutar kontrolera. Par osnovnih stvari i to je sve a potom će već steći neku sliku kuda treba da ide. Možda će mu značiti na prvom narednom konkursu za posao a izgubiće par nedelja. Ne mislim da Bogdan nije u pravu sa potenciranjem alata koji mogu početnika dovesti do lakog i brzog rešenja. To ga može ohrabriti i doneti mu osećaj zadovoljstva što je u nečemu uspeo. Lepo je kad vidiš da nešto radi odmah. Samo je ne verujem u laka i brza rešenja. Uostalom, i zadovoljstvo je veće kad se malo pomučiš :) Sinišin PIC16F627 ili 628 je jeftin i na 700 komada sigurno pravi razliku koja mu znači. Ne mora 100000 nečega a do sada sigurno ima proverene biblioteke i hardverska rešenja za sve i svašta.

[Ovu poruku je menjao goran_68 dana 23.10.2011. u 16:33 GMT+1]
[ bogdan.kecman @ 23.10.2011. 16:06 ] @
Citat:
goran_68: Ima džaba i za 10/12/16 familije HI-TECH C:
http://www.microchip.com/stell...eId=1406&dDocName=en542849


interesantno, ranije je lite verzija hitech-a bila ogranicena sa velicinom hex-a, izgleda je mchip uneo neke izmene od kada su ih kupili ...


Citat:
goran_68:Ja ne insistiram na tome da treba da bije po asm do ludila ali bi valjalo da zna šta se to dešava unutar kontrolera. Par osnovnih stvari i to je sve a potom će već steći neku sliku kuda treba da ide.


nece ni u C-u moci da programira ako ne zna kako radi mikrokontroler, a naucice brze bez gubljenja vremena na sitnice sa asemblerom ... doduse, eno sa arduinom moze da radi bez da ima ideju kako sljaka mikrokontroler i da ga bas briga ..

Citat:
goran_68:Samo je ne verujem u laka i brza rešenja. Uostalom, i zadovoljstvo je veće kad se malo pomučiš :)


nije bas tako ... ako pricamo o ljudima koji su zavrsili skolu i spremaju se za posao, oni imaju (valjda) dovoljno znanja da znaju sta i kako ce da rade (sa cim ce da pocnu i slicno) te ih bas briga sta ja ili ti mislimo, ako imamo ljude koji su mladi i pocinju, ako je previse tesko (a ASM je u poredjenju sa svim drugim sto je danas dostupno PREVISE TEZAK, app za PC napises danas sa 5 klika misem, na arduinu zablinkas ledaru posle 2min .. u poredjenju sa konkurencijom ASM je PREVISE TEZAK) ljudi ce da odustanu i da odu da se bave necim zanimljivijim. Posebno sto je to bez razloga previse tesko. Ko god radi u asm-u ima vec stotine/hiljade svojih makro-a, code snippet-a, biblioteka koje koristi .. neko ko tek pocinje nema nista od toga, radi skroz ispocetka, daj, pa ja sad kad bi morao skroz ispocetka nesto da pisem u asm-u bez biblioteka i makroa, ubio bi se... e sad, to sto je pre xyz godina bilo neisplativo raditi u bilo cemu drugom pa smo mi napravili sebi razne biblioteke, makroe ... to je druga prica, eno ga Korak, covek napravio ceo svoj IDE za asm sa brdom makroa, kaze covek da mu izgleda asm ko paskal !!! nije to radio zato sto je ASM lep za rad vec da bi ubrzao razvoj i skino s'vrata gomilu smora koji asm donosi sa sobom ... zasto praviti ljudima zivot od starta previse tezak zato sto "smo mi morali tako da krenemo" .. iz kog razloga .. sta ga bole uvo koje registre treba da utuces da bi upisao vrednost u eeprom adresu !? cuknes lepo write_eeprom(adresa, vrednost) i kraj price ... radi na svakom mcu, ne mora da se cimas svaki put za svaki mcu gde bese koga da ka.am da bi mu usao u eeprom ... mislis da je sinisa sa svojim 627 pisao svaki put asm za upis u eeprom, nije, nego je napisao jednom makro i koristio ga za narednih 1000 komada, pocetnik nema taj makro ..

DOVOLJNO JE KOMPLIKOVANO I SA C-OM NAPRAVITI DA BLINKA LED da bi bilo zadovoljstvo, nema potrebe praviti stvari teze nego sto jesu ... mislis da ovi likovi sto pisu windoze aplikacije .. imaju ideju kako radi kompjuter, koja je razlika izmedju ovog i onog registra, kako se adresira periferija, sta je to alu jedinica, koji sve formati postoje da se u memoriji radi sa floating point brojem, sta je to mantisa .... bole ih uvo ... pre ~20 godina ja sam pisao programe za vodjenje klubova, servisa i slicno u asm-u a moje kolege su ih pisale u klipanu i klarionu .. moji su radili 1000x brze i bili stotine puta manji ... prodavali smo ih za iste pare, samo je meni trebalo 100 puta vise vremena da ih napisem i 10x vise vremena da ispravim kada klijent ima neku zelju i cestitku, a za knjigovodstvo kod desete izmene zakona ja sam odustao od rada u asm-u i prebacio se na isti taj klarion .. mislis da su ti kliperasi i klarionasi imali ideju sta je to mantisa, koja je razlika izmedju AX i CX, DS registra, sta je AH a sta AL i u kakvoj je vezi sa AX ili mislis da su im oci zacaklile kad se pojavio EAX .. ali oni su zbog 100-1000x kraceg vremena potrebnog za izbacivanje gotovog proizvoda zaradili isto toliko vise para od mene iako su moji programi bili "bolji" po mnogo cemu .. njihovi su bili dovoljno dobri i u ukupnoj oceni u stvari mnoooooogo bolji posto su oni promenu u zakonu implementirali za 10min a ja za 10h, oni su zelje i cestitke klijenata dodavali za dan dva a ja za nedelju dve .. ja sam morao da budem ili mnogo skuplji od njih ili da moj sat vredi mnogo manje od njihovog !!!! a klijent, da li ce da mu knjizenje traje 2h nedeljno ili 30min nedeljno bas mu je nesto pravilo problem ... ili da li kada snimi fakturu to traje 3sec ili 10sec ... bas su se nesto tangirali .. cak su vise voleli kad je sporije, imaju vremena za kafu, pljugu ...

pogledaj ovo:
http://www.st.com/internet/evalboard/product/252419.jsp
* STM32F407VGT6 MCU (32-bit ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM )
* On-board ST-LINK/V2 (dakle programator i debugger se vec nalaze na plocici !!!!!!!)
* LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer
* MP45DT02, ST MEMS audio sensor, omni-directional digital microphone
* CS43L22, audio DAC with integrated class D speaker driver
* Eight LEDs:
* Two push buttons (user and reset)
* USB OTG FS with micro-AB connector
* Extension header for all LQFP100 I/Os for quick connection to prototyping board and easy probing

To prijatelju ima FPU, radi na 168MHz i ima 210 DMIPSa .. i taj CEO RAZVOJNI SISTEM KOSTA ISPOD 1000 DINARA!! i za to postoji potpuno dzaba razvojni alat (baziran na gnu c-u) sa svim optimizacijama i zezancijama koje gnuc donosi, debagiranje, brdo primera ... da li stvarno mozes da uporedis to sa bilo kojim drugim sistemom za te pare, po bilo cemu, po snazi, po mogucnostima, po ... ?! i onda zamisli sebe da to treba da programiras u asembleru :D ... samo pickit2 klon kosta 2000din a ovo na sebi vec ima programator + jos par zanimljivih modula za testiranje (acelerometar, audio ulaz, audio izlaz)

oces cortex m3 ako ti je cortex m4 previse jak :D:
http://www.st.com/internet/evalboard/product/250863.jsp
* STM32F100RB microcontroller, 128 KB Flash, 8 KB RAM in 64-pin LQFP
* On-board ST-Link (dakle programator i debugger se nalazi na plocici !!!)
* Designed to be powered by USB or an external supply of 5 V or 3.3 V
* Two user LEDs (green and blue)
* One user push button
* Extension header for all QFP64 I/Os for quick connection to prototyping board or easy probing

ovaj nema fpu, ali je i dalje 32bitni mcu sa cortex m3 jezgrom sa dzaba razvojnim sistemom, brdom primera i kosta ISPOD 1000din (tj. ja sam narucio preko technodis-a i sa carinama i marzom je bio oko 1100din !!)

Zanima te "low power" aplikacija, evo ga opet sa cortex m3 (dakle i dalje 32bitni mcu) ceo razvojni sistem ispod 1000din
http://www.st.com/internet/evalboard/product/250990.jsp
* STM32L152RBT6 microcontroller featuring 128 KB Flash, 16 KB RAM, 4 KB EEPROM, in an LQFP64 package
* On-board ST-Link/V2 (programator, debugger !!)
* IDD current measurement
* LCD
* Four LEDs:
* Two pushbuttons (user and reset)
* One linear touch sensor or four touchkeys
* Extension header for LQFP64 I/Os for quick connection to prototyping board and easy probing

dakle ultra low power 32bitni cortex m3 mcu sa senzorom za dodir (kapacitivni) ... opet 1000din, opet dzaba ide, opet brdo primera ...

E sad, ST ima iste te jeftine dev kitove i sa osmobitnim mcu-ovima ali ja njih ne koristim posto su to ST-ovi mikrokontroleri. Za razliku od njih STM32 mikrokontroleri imaju Cortex M3 ili Cortex M4 jezgra koja su "standardna" tako da sta god naucite i isprobate na STM32 mozete sutra da prebacite 1/1 na ti ili filips ili motorola ili atmel ili bilo koji drugi 32bitni mcu sa istim tim jezgrom.

Linkovi na st-8bitne razvojne alate ako nekoga zanima (isto su vrlo jeftini)
http://www.st.com/internet/evalboard/product/250636.jsp
http://www.st.com/internet/evalboard/product/247087.jsp

Onda imamo TI koji isto ima super dzaba platforme za razvoj za pocetnike za njiuhove ultra low power 16bitne MSP430 kontrolere (launchpad)
http://e2e.ti.com/group/msp430launchpad/w/default.aspx

KOSTA MANJE OD 5 DOLARA !!!!!!!! TO JE PAR STOTINA DINARA !!!!!!
Isto dzaba IDE, isto C ... brdo primera ... brdo projekata online ..

I dalje pricamo o 16F84 koji sam za sebe kosta oko 500 dinara ?! koji je zastareo pre vise od 10 godina ... to parce istorije kosta vise nego ceo razvojni alat od TI-a...

[ goran_68 @ 23.10.2011. 19:31 ] @
Znam za jeftine razvojne sisteme od ST, TI... Imam ponešto od toga. Probao i video da radi.
Evo par cena za 100 kom. u USD sa digikey.com:

STM32F407VGT6 13.14100
STM32F100RB 3.50550
STM32L152RBT6 5.05050

Za 10kom. nečega ajde da i ne razmišljam šta ću da upotrebim. Za Sinišinih 100 ili 1000 takođe nema potrebe da razmišljam. Uzeću neki jeftin PIC od 1.5USD. Šta je to što ja ovde i u okruženju mogu da prodam u količini od 1000kom. a da posao ne može da završi baš taj jeftin DIP PIC? Šta početniku vredi razvojni sistem od 10nečega ako bi u realnoj situaciji morao da prelazi na nešto drugo? Naravno, neće da prelazi ponovo isti put ali opet gubi vreme. A tek živce! Sa CortexM3 na PIC! Zar nije bolje obrnuto kad se ukaže prilika!?
Moj prijatelj ovde ima malu firmu i živi od toga. Konkurencija ga tera da bude jeftin i veruj nije mu lako. Mora da misli o tome. Koristi samo Microchip PIC.
Ako početniku pak treba nešto fancy za CV onda je to druga stvar.

16F84 nije niko spominjao.

[ goran_68 @ 23.10.2011. 20:51 ] @
Još nešto vrlo važno. Onaj ko odustane ako mu LED ne blinka posle 15min i nije za ovaj posao-hobi.
[ bogdan.kecman @ 23.10.2011. 20:56 ] @
pricamo o nekome ko hoce da pocne da se bavi time, ne o nekome ko nesto hoce da prodaje .. svaki od tih 10$ razvojnih alata je dovoljan da nauci sta rade i kako rade mikrokrokontroleri i da stekne neko iskustvo, onda kada stekne iskustvo ce sa nula snage da predje na bilo koji drugi mcu ... ja sam radio sa 8051 i napravio 10+ godina pauze i presao na pic16f877A za nekih 20 minuta !!! zato sto sam znao sta je mikrokontroler i imao neko iskustvo ... uzmes datasheet i vozi misko ... onda sam uzeo pic32MX i krenuo sa njim da radim za par sati, onda stigao STM32 i posle 15min prvi projekat izasao napolje ... dakle kada imas iskustvo sa BILO KOJIM mikrokontrolerom prelazak na bilo koji drugi, ako nisi debil, je macji kasalj. E sad, postoje ljudi koji ne znaju nista osim da uzmu mcu, napeku HEX sa neta i gurnu u uredjaj... ne pricam o takvima !!! oni neka se drze tih hexova koje su nabavili i neka voze svoje uredjaje .. zbog takvih microchip i dalje pravi 16F84 :D.

Tako da .... oces da ucis da znas o mikrokontrolerima, da udjes u pricu, najjeftiniji ufur ti je sa nekim ST*DISCOVERY dev board-om. Bode se na usb, kosta ~10$ i ima sve sto ti treba for frei. Ako hoces da "na brzinu nesto napravis" a zabole te uvo za mikrokontrolere i kako to stvarno radi, uzmes arduino i za 30$ imas sistem koji coveku koji ne zna nista o hardware-u daje mogucnost da pali gasi ledare, vrti motore, pise po display-u, cita senzore ... uz arduino dete 5ti osnovne napravi "diferencijalni termostat" za 10 minuta (nesto sto je vrlo cest zahtev ovde na elektronika forumu) !!

Ako ces da napravis 1000 sprava da prodas za godinu dana, ti NISI POCETNIK .. i ti vec imas dovoljno iskustva da znas i sta ces da pravis i cime i gde ces da kupis i zasto i ... sigurno neces pocetniku da das da ti razvije sistem za xyz koji ce da se izradjuje odma u 1000 primeraka .. a taj pocetnik kada dodje do stadijuma 1000 komada (kada dodje do stadima 10 komada vec) ce znati vrlo dobro sta mu treba, za koje pare i slicno ... Ja danas koristim i 8pinske 10F i 16F i 18F a i MSP430, 32MX, STM32 ... dakle zavisno od toga sta mi gde treba to turim .. posebno ako pravim vise od jedan komad .. ali kakve to veze ima sa "sta je bolje za pocetnika" ... po meni, pocetnik treba da ima sto laksi rad da bi sto pre dosao do cilja. To znaci sto jaci mcu, posto kako je mcu slabiji to je teze doci do cilja i vise je mesta gde moz da se prevaris .. a kada se pocetnik navuce i predje iz novice u intermediate onda dolaze neka druga pravila ali pocece da ih postavlja sam sebi zavisno od interesovanja i potreba.
[ bogdan.kecman @ 23.10.2011. 20:57 ] @
Citat:
goran_68: Još nešto vrlo važno. Onaj ko odustane ako mu LED ne blinka posle 15min i nije za ovaj posao-hobi.


"dev kit" koji od tebe trazi vise od 15 minuta da blinknes led je sadisticki kit i nije ni za profesionalca a kamoli za pocetnika !!
[ goran_68 @ 23.10.2011. 21:07 ] @
Eh, pa 15min. Dao sam mu malo više vremena da dobro razmisli :) Bilo bi dobro da neki od skorih početnika da svoje iskustvo (kao Darko).
[ bogdan.kecman @ 23.10.2011. 21:13 ] @
pazi, mozda 20-30 ako neko bas nikad nije imao nikakve dodirne tacke za mikrokontrolerima ... ali realno to je to, ako okruzenje nije u stanju da pocetniku omoguci da upali led na zadatom pinu za 30min to okruzenje ne valja ni za koga .. (a jeste, vidjao sam mnogo takvih)
[ bogdan.kecman @ 23.10.2011. 21:29 ] @
elem jasno je da danas ko ima "par godina" iskustva sa mikrokontrolerima morao je da krene sa onim slabijim posto su do pre par godina oni veci bili otrovno skupi .. i onda ti je za sve osim pukog blinkanjha stvarno bio potreban asm .. ono sto vecina ljudi sa par+ godina iskustva ne konta je da se vreme drasticno promenilo i da sada ultra jaki mikrokotrnoleri kostaju sicu a prilicno ozbiljne male 8bitne masine (18F i ekipa koji su u par$ sa cenama, na primer 18F2550 kosta oko 350din u comet-u na komad, 18F25J10 je 180din na komad dok su 16F627 i 16F628 150din ) ..

hoces stvarno da mi kazes da mislis/verujes da je bolje da neko pocne sa 16F628/16F628 umesto sa 18F25J10 .. da ce za tih 30 dinara razlike da mu se isplati da radi sa 1.5kb programske memorije umesto 32kb-a koliko ima na 18F !? 224 bajta rama u poredjenju sa 1k rama na 18F25J10, da nema mssp sto znaci da ne moze da prica ni sa jednim i2c i spi senzorom (a 90% senzora je ili i2c ili spi) .. za 30 dinara? pa vidi ako ce i 100 komada da pravi ne isplati se a ne za jedan dva komada koliko mu treba da krene nesto da uci ... Ja mislim da je bolje da da jos 150din vise i da ima i USB ...

po meni 16F serija mchip-a je mrtva .. nema vise apsolutno nikakvu upotrebnu vrednost nigde .. cenovno su mrtvi sto se da i videti, mchip ih vise ne stanca i bukvalno izlaze samo otp verzije i trose se lageri ... 10/12F imaju svoje mesto kao znacajni low pin count uredjaji no mislim da to nikako nije za pocetnike (a i ja tu licno mnogo vise cenim attiny nego 10/12F seriju mchipa), i 18F su preuzeli primat nada svim sto je nekad drzala 16F familija ... a polako i 18F izlaze iz mode obzirom da vidim da planiraju dspic, 24f, 30f 16bitne piconje da tuku u mala kucista (10, 18 i 20 pina kucista, 28pina vec odavno prave) no aj videcemo kada ce to da se desi, jos ih nema...

ja ovu pricu vidim kao kada mi ljudi kazu "ne znaju deca nista, koji komp da im kupim da uce, nesto slabo jel tako" .. zamisli sad nekome das pentium 1 da "uci" .. sta da uci ?!! da kuca dos?
[ rsinisa @ 23.10.2011. 22:26 ] @
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.
Konkretno, juče je moj drugar (koji živi zadnjih 10 godina u Italiji), koji ima nekoliko RC aviona, našao na netu projekat sa 12F629 koji preko daljinske komande upravlja svim potrebnim svetlima na avionu. Nekada se bavio elekotrnikom, ali veoma, veoma slabo i retko, nije neki ekstra genije koji sve razume iz prve, ali da se razumemo, nije ni glup, ima dobru logiku, ali jednostavno mikrokontroleri su za njega jedna nelika nepoznanica. Odmah je požeo da se bavi mikrokontrolerima iz čiste zabave, a i da bi malo prilagodio program svojim potrebama. Ne govori ni jedan strani jezik sem italijanski, program koji je našao je na njegovu žalost u ASM-u, a literature na srpskom, njemu dostupne na netu, praktično da i nema. I kaži ti meni sad šta bi ti njemu rekao, koji mcu da uzme za početak i koji programski jezik?
Naravno, odgovor već znam, ali mislim da za takovg početnika nije ništa jače od 16F628 jer mislim da će mu trebati nekoliko dana dok shvati samo kako da ispodešava sve potrebne registre, a da ne pričamo o njihovom korišćenju.
Ja sam mu, naravno, preporučio BASIC i 16F628 jer znam da bi njemu sve jače od toga ubilo volju jako brzo. Verujem da je većina ljudi koji počinju slična njemu i o takvim početnicima ja pričam.
Što se tiče ASM-a, nisam rekao ja (a ni niko drugi, koliko mi se čini) da treba to prvo da nauče i da pišu samo u njemu, ali savladavanje ASM-a je samo plus. Ipak ovo nije PC i poznavanje ASM-a je prilično bitno za nekoga ko hoće da se time bavi ozbiljno. Ali verujem da većina ljudi na početku jednostavno ne zna dali će da se bave time kasnije i koliko ozbiljno. Ali, ovo oko ASM-a ionako nema direktne veze sa temom :).
A i to što današnje PC programere ne zanima kako radi kompajler i ostale stvari (da ne ulazim u detalje, nije tema) plaćamo svi mi korisnici tih programa time što moramo da kupujemo sve jače i brže PC-jeve da bi radili istom komocijom kao pre desetak godina u programima koji su radili tada istom brzinom kao i danas ovi novi koji su takodje prertpani opcijama koje malo ko koristi.
Još jednom da kažem, dobro je što postoje različita mišljenja, a početnik koji ovo pročita odlučiće sam kojim putem da krene u zavisnosti od faktora koji su njemu bitni.

Pozdrav.
Sinisha
[ goran_68 @ 23.10.2011. 23:02 ] @
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.
[ bogdan.kecman @ 23.10.2011. 23:05 ] @
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...
[ bogdan.kecman @ 23.10.2011. 23:23 ] @
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 !!!

[ rsinisa @ 23.10.2011. 23:55 ] @
Š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
[ Odin D. @ 24.10.2011. 00:12 ] @
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.
[ bogdan.kecman @ 24.10.2011. 00:48 ] @
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 ...

[ bogdan.kecman @ 24.10.2011. 00:53 ] @
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]
[ YU2AX @ 26.10.2011. 21:34 ] @
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.
[ YU2AX @ 26.10.2011. 21:49 ] @
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 ... ;)
[ Odin D. @ 26.10.2011. 22:42 ] @
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.
[ YU2AX @ 26.10.2011. 22:51 ] @
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. ;)
[ bogdan.kecman @ 27.10.2011. 04:20 ] @
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
[ YU2AX @ 27.10.2011. 07:24 ] @
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]
[ bogdan.kecman @ 27.10.2011. 07:44 ] @
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
[ YU2AX @ 27.10.2011. 08:57 ] @
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.
[ bogdan.kecman @ 27.10.2011. 09:08 ] @
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 ..)
[ YU2AX @ 27.10.2011. 09:30 ] @
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?
[ bogdan.kecman @ 27.10.2011. 09:51 ] @
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" .. !??!?!?

[ Odin D. @ 27.10.2011. 11:25 ] @
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.
[ introitus @ 28.10.2011. 13:15 ] @
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

[ Slobodan čovek @ 30.10.2011. 12:22 ] @
Kad se već pominje HI-TECH C, može li mi neko dati neki drugi link za skidanje LITE verzije. Dakle, za ova dva:

http://www.microchip.com/stell...eId=1406&dDocName=en542849

http://www.microchip.com/stell...eId=1406&dDocName=en542861

Odavde ne mogu da skinem ako nisam registrovan a kad hoću da se registrujem uvek se javi neka greška.

[Ovu poruku je menjao Slobodan čovek dana 30.10.2011. u 13:47 GMT+1]
[ bogdan.kecman @ 30.10.2011. 14:09 ] @
http://ww1.microchip.com/downloads/mplab/X_Beta/installer.html
[ Slobodan čovek @ 30.10.2011. 14:16 ] @
Hvala.
[ bogdan.kecman @ 30.10.2011. 14:20 ] @
http://www.youtube.com/watch?v=XHosLhPEN3k
[ ZAS011 @ 30.10.2011. 14:53 ] @