Jump to content
ELFORUM - Forumul electronistilor

PIC beginer


Guest challenger

Recommended Posts

Guest challenger

Probabil s-au mai discutat astfel de lucruri pe forum, am citit cate ceva, insa nu am gasit ce ma interesa.Am cateva intrebari punctuale si sper in amabilitatea voastra, ca-mi veti raspunde.Am cautat tutoriale pe net si am gasit cate ceva, dar parca nu sunt foarte multumit de ce am gasit.Unul dintre acestea este file:///E:/1-PROGRAMARE/PIC/site%20tutorial/pic%20tutorial%20mstracey/www.mstracey.btinternet.co.uk/pictutorial/progtut1.htm.L-am parcurs si am inteles cam tot, cu exceptia intreruperilor, pentru care am citit si alte tutoriale, insa nu sunt multumit deloc de mine si de cat am inteles.Si ca sa va dau un simplu exemplu, mi-a luat o mie de ani sa-mi dau seama ca pusesem rutina de intrerupere dupa END-ul de la finalul programului si, evident, primeam o mare eroare in care-mi spunea ca nu exista eticheta pe care o declarasem.Voiam sa va intreb daca stiti de vreun tutorial mai bun, mai pentru incepatori, cu descrieri mai in amanunt...Si o alta intrebare ar fi cam ce anume m-ati sfatui sa invat, assembler sau C?Assembler mai stiu cate ceva, C nu stiu deloc.Am vazut pe net ca multe coduri sunt in C, dar as prefera assembler-ul. Gresesc?Va multumesc si sper sa fiti blanzi cu mine...

Link to comment
  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

De unde pleci? Ai ceva idee de ceva matematica , algoritmi ?Ce vrei sa faci?Care este scopul pentru care vrei sa inveti asm sau C?Programarea in sine, nu prea are rost fara cunostiinte de matematica, fizica...Exceptie fac cazurile in care vrei sa faci ceva de genul instalatii pentru pomul de iarna.Si , stai linistit ca nu ai inteles prea multe, majoritatea documentatiilor de pe net sunt scrise de 'programatori' de licurici.

Link to comment
Guest challenger

Multumesc pentru raspuns, Brad.Ceva experienta am, dar nu stiu in ce masura ma ajuta.Astfel, am facut ceva ani electronica, la un nivel destul de avansat, dar nu cu controlere.Am ceva cunostinte in vb.net, dar destul de putin.Mai bine stau la capitolul baze de date relationale, unde am ceva experienta in programarea lor.Cunostinte de matematica si fizica am, dar nu foarte avansate, adica nu matematici superioare.Fizica, partea electrica mi-e foarte aproape, dar inteleg usor si fenomene mecanice ori de alta natura.Vreau sa invat pic-urile pentru ca nu pot sa stau o secunda fara sa invat ceva.Si pentru ca am oarece experienta in electronica, m-am gandit ca o sa-mi fie mai usor, pentru ca nu trebuie sa mai invat si inceputurile electronicii. Cu atat mai mult cu cat am lucrat mult pe electronica logica, dar din pacate, a trebuit sa intrerup indeletnicirea asta si am pierdut un tempo, controlerele.Ca si tinte, deocamdata vreau sa asimilez jucandu-ma cu chestii simple, dar deja ma intereseaza sa pot manipula un lcd cu 2 sau 4 linii si 20 de caractere, cu o tastatura si ceva meniuri.Stiu ca e destul de complicat, dar in timp presupun ca n-o sa-mi fie foarte greu sa invat, mai ales daca o sa gasesc si ceva documentatie pe net sau putin ajutor pe forumuri.Din pacate, tutorialele pe care le-am gasit, nu prea m-au multumit, eu unul, nu le-as face asa.E dificil sa pricepi o carte de cateva sute de pagini in care se explica pe rand instructiuni, arhitectura, etc, fara aplicatii usurele, practice.Dar poate gasesc si altceva pe net.

Link to comment

Daca zici ca ai ceva cunostiinte de electronica si programare, ia un datasheet de la Microchip, PIC18F sa zicem , citeste-l cu atentie si noteaza ce intelegi dar mai ales ce nu intelegi.NU te apuca sa programezi un PIC pana nu intelegi. Asta in cazul in care ai ca scop altceva decat , ma repet, sa devii programator de instalatii luminoase pentru bradul de Craciun.

Link to comment

Uite aici carti (gratuite online, cu bani daca le vrei pe hartie): http://www.mikroe.com/pic/books/.

 

Nu te speria, toti am facut acel licurici ("blink a LED") si mai tot timpul cand ceva nu merge si nu ai idee de ce, sa refaci licuriciul este acel "sanity check" care iti confirma ce nu mergea :da .

 

Un sfat: fa totul pas cu pas, nu incerca de la inceput proiectul tau final pana nu reusesti sa intelegi de ce se/sau nu se aprinde LED-ul.

 

Daca mergi pe ASM ai sa scrii mult in program; daca alegi C sau Basic (+ librariile deja disponibile) ai sa-ti simplifici mult viata. Dar, cum spunea brad, probabil ca multe o sa ramana mistere pentru tine. Daca nu faci bani din acest domeniu si ai timp sa experimentezi, atunci sfaturile lui brad de mai sus sunt f pertinente. In caz contrar, nu inseamna neaparat ca sunt impertinente :nebun: .

Link to comment
Guest challenger

In niciun caz pom de iarna. Asa cum spuneam, ma interesează să asimilez deocamdată, de asa maniera încât să pot manipula instrucțiunile. O sa încerc cu pdf-ul, deşi e destul de dificil de înţeles lucrurile de început.Mulţumesc, Thunderer, pentru răspuns. Din păcate, nu înțeleg C si mă gândesc că as pierde mult timp să-l învăț, mai ales ca asm mai înțeleg.

Link to comment

Daca ai deja ceva cunostinte e mai bine in assembler, si eu programez PIC-uri tot in assembler, e de ajutor cand ai un PIC low-end, cu putina memorie, in care abia intra un programel simplu in C. In plus, odata ce iti creezi rutinele, ele pot usor sa fie transformate in blocuri si macro-uri pe care le poti folosi in orice proiect. Multe se gasesc si pe net gata facute. Deci in final, nu e asa de mult de scris, si ai control complet asupra hardware-ului.

Link to comment

...Din păcate, nu înțeleg C si mă gândesc că as pierde mult timp să-l învăț, mai ales ca asm mai înțeleg.

Sa lucrezi in C sau alt limbaj este ca si cum ai invata o limba noua. In mare, este chestie de sintaxa. Dar, zic eu, marele avantaj este ca orice alt limbaj este mai intuitiv si logic (vizual) decat ASM (pentru cineva care nu este programator de meserie-formatiune).Daca ramai la ASM este numai alegerea ta. Nu uita de forumul de pe Microchip, este destul de animat.Prima carte recomndata este in ASM, sper sa-ti foloseasca. Altfel, tutoriale (de programatori de licurici - mai mult sau mai putin spus) sunt disponibile pe site-ul Gooligum si pe cel al lui Nigel Goodwin. Pentru un incepator sunt numai bune.Altfel, Tip and Tricks de la Microchip iti ajuta sa intelegi ce poti face cu un PIC. https://www.google.ca/search?q=tip'n'tricks+microchip&oq=tip'n'tricks+microchip&aqs=chrome..69i57j0l3.11671j0j8&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8#es_sm=122&espv=210&q=tips'n'tricks+microchip&spell=1Spor la treaba si, asa cum s-a mai spus, intai citesti datasheet si apoi treci la conceperea programului.Vezi si asta: http://www.elforum.info/viewtopic.php?f=11&t=2435
Link to comment
Guest challenger

Multumesc pentru link-uri si pentru indrumari.Am ce studia.Acum sunt intr-un tutorial si am ajuns la intreruperi si inca nu am reusit pe deplin sa le inteleg.O sa merg pe asm, imi este familiar cat de cat.Oricum, inca nu stapanesc toate instructiunile si inca nu mi s-a dat mana sa le scriu singur, dar ma straduiesc.Am incercat azi sa lucrez in MPLAB, dar mi se pare total neprietenos fata de Isis, unde stiu sa concep o schema, sa o simulez, etc.Atunci cand urmaresti tutoriale cu licurici, cum foarte misto spunea un coleg mai sus, e nevoie de o simulare imediata, de asa maniera incat sa vad imediat rezultatul unor schimbari in cod.Din cate am inteles, MPLAB nu stie asa ceva.Sper sa ma lamuresc si asupra acestui aspect cat de curand.

Link to comment

Salut.Poti lucra foarte bine cu amandoua. In ISIS faci schema electronica (cu controller, led-uri, butoane, afisor sau ce mai vrei sa aiba/faca schema ta) si in MPLAB (sau in altceva gen C sau Basic) scrii programul pentru MCU. Apoi incarci in ISIS fisierul .hex sau .coff(cu acesta din urma poti face si debug linie cu linie) si pornesti simulatea.Modalitatea asta iti permite sa modifici oricand partea hardware fara efort si abia cand ai pus la punct proiectul, poti genera un PCB (cu Ares) si poti cumpara piese.Eu asa fac pentru proiecte de o complexitate mica si medie si imi este foarte usor.Si citeste datasheet-ul componentelor. Este cea mai buna sursa de informatii.Apropos de MPLAB: acesta contine un simulator intern, insa doar pentru microcontroller, nu pentru toata schema. Din acest simulator poti face multe lucruri: poti schimba statea intrarilor, poti observa iesirile, poti rula programul scris de tine linie cu linie, etc. Insa pentru schema completa foloseste ISIS. Succes.

Link to comment

Oricum, inca nu stapanesc toate instructiunile si

Indiferent la ce limbaj te decizi, pe langa data-sheet-ul controllerului trebuie studiat temeinic manualul 'compilatorului'.

In cazul assmblerului , descarca manualul mpasm de la uChip de pe site (scrie si cum e cu CONSTANT :rade: )

 

Am incercat azi sa lucrez in MPLAB, dar mi se pare total neprietenos fata de Isis, unde stiu sa concep o schema, sa o simulez, etc.

Sunt doua pachete soft cu scopuri diferite. In mplab poti simula doar la nivel de microcontroller, ca uChip asta produce.

 

Atunci cand urmaresti tutoriale cu licurici, cum foarte misto spunea un coleg mai sus, e nevoie de o simulare imediata, de asa maniera incat sa vad imediat rezultatul unor schimbari in cod.

Sau infigi componentele intr-o placa de test si vezi la fel de repede schimbarile. Uneori e chiar mai palpitant, ca poti vedea si fumul magic :rade:

Link to comment
Guest challenger

Multumesc tuturor pentru raspunsuri.Voi face asa cum s-a scris aici.Varianta cu "sa vad fumul", o las deoparte, in tinerete am facut sute de montaje de toate tipurile si am si acum in nas fumul unora dintre ele. :PVreau sa ma rezum doar la programare intr-o prima faza si voi infinge componente pe o placa numai dupa ce voi fi capabil sa fac si altceva in afara de licurici.Pana una-alta, ma chinuie talentul sa gasesc niste exemple usor de digerat de intreruperi si sa le asimilez. Din pacate, gasesc foarte multe in C si aproape nimic in assembler.

Link to comment
  • 2 weeks later...
Guest iulianvalentin

Multumesc tuturor pentru raspunsuri.Pana una-alta, ma chinuie talentul sa gasesc niste exemple usor de digerat de intreruperi si sa le asimilez. Din pacate, gasesc foarte multe in C si aproape nimic in assembler.

Limbajul ASM este bun la inceput , bun cand nu ai mult spatiu, cand vrei sa faci opratii rapide si precise dar cand programul devine mai complex si mai mare apoi sa te feresti de ASM ca de satana. De aceea multi folosesc C pentru ca poti implementa mult mai usor si mult mai rapid anumiti algoritmi si poti construi programe mai complexe, dar intotdeauna este bine sa incepi cu ASM.Eu personal lucrez in Mikro C si imi ofera posibilitatea sa programez atat in C cat si in ASM. Oricum odata ce ai trecut la C nu te mai intorci la ASM decat daca ai mare nevoie.Cu intreruperile treaba e simpla daca programezi in MPLAB ei au niste sabloane si au rezervat un loc unde tu poti sa iti pui programul destinat intreruperilor si trebuie sa respecti regulile de baza: Ai mare grija la variabilele globale, nu chema subrutine decat din zona dedicata intreruperilor si asa mai departe.
Link to comment

In mplab NU SE PROGRAMEAZA. De programat se programeaza in asamblor, c, basic, pascal...Mplab e un amarat de ide. O interfata intre compilator/asamblor/linker/cemaitrebuieacolo si utilizator. Aceleasi programe se pot scrie in notepad si compila/linka/asambla din linia de comanda. Mai nou mplabx nici macar cu asamblor nu mai vine, trebuie instalat un compilator ca sa instalezi mpasm.

Link to comment
Guest iulianvalentin

In mplab NU SE PROGRAMEAZA. De programat se programeaza in asamblor, c, basic, pascal...Mplab e un amarat de ide. O interfata intre compilator/asamblor/linker/cemaitrebuieacolo si utilizator. Aceleasi programe se pot scrie in notepad si compila/linka/asambla din linia de comanda. Mai nou mplabx nici macar cu asamblor nu mai vine, trebuie instalat un compilator ca sa instalezi mpasm.

M-am referit la MPLAB ca IDE nu ca limbaj.
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines