Jump to content
ELFORUM - Forumul Electronistilor
ciocanaru

Exercitii programare de la zero

Recommended Posts

ATENTIE: se compileaza fara nici-o librarie a mikroC bifata. Functiile de initializare si citire a ADC sunt definite in program ...

 

Am folosit aceleasi nume pentru functiile ADC ca si cei de la mikroC. In acest fel, cand libraria mikroC pentru ADC este bifata se intampla ce ti s-a intamplat tie. Apar conflicte.

Probabil trebuia sa folosesc alte nume.

 

Asadar:

 

1. debifezi libraria ADC din Library manager al mikroC sau ...

2. schimbi numele functiilor (atat in declaratie cat si in definitie) ADC_init() si ADC_read(canal)

Edited by mars01

Share this post


Link to post
Share on other sites

Guest
 

Am modificat doua linii 

// void ADC_init() {void ADC_initt() {...// unsigned int ADC_read(unsigned short channel) {unsigned int ADC_readd(unsigned short channel) {

si nu mai am erori.

 

:aplauze  mars01, am debifat din librarie (daca nu casc ochii mari la ce scrii) si functioneaza cu codul scris de tine.

Un exercitiu nou pentru mine. Nu am folosit niciodata libraria pentru acest tip de exemplu.

Edited by Guest

Share this post


Link to post
Share on other sites

@mars01:

1. pasul urmator e sa folosesti niste define-uri si sa combinezi cele doo programe intr-unul singur. :da:Ceva de genul:

#define MIKROC //sau #define UCHIP#ifdef MIKROC //mikroc compiler#else //xc8 compiler #include <xc.h> #define _XTAL_FREQ 2000000 #pragma...#endif

2. si MPLABX te lasa sa setezi bitii de configurare "grafic". Dupa iti exporta configuratia sub forma de #pragma

3. xc are tipul de data "short long", pe 24 de biti. Cel putin asa se lauda in manual.

 

In rest, tine-o tot asa.

Share this post


Link to post
Share on other sites
Guest

Ups, daca continuati asa, cu XC8, am incurcat-o  :84. Eu am doar mikroC full. XC8 nu, pentru ca am un laptop mai "necajit".

Asa cum titlul topicului este "Exercitii de programare de la zero", se poate scrie coduri pentru orice compilator.

Dar daca se cere si acest compilator, o sa ma straduiesc sa mai renunt la unele programe, ca sa am si XC8, Dar nu stiu daca este functional si pe XP.

Edited by Guest

Share this post


Link to post
Share on other sites

Pai Liviu, directivele de preprocesor sunt cam "out of my scope".

In afara de #include si #define nu cred ca am sa discut despre altceva din categoria aceasta, pentru ca dupa parerea mea sunt "fineturi" si nu se preteaza aici (si asa am fortat putin lucrurile cu programul anterior).

 

MPLABX chiar imi place si intr-adevar bitii din CONFIG se pot genera grafic. Doar ca tot trebuie sa faci COPY-PASTE si apar in clar in program spre deosebire de mikroC.

 

**********************************************************

 

Programul anterior are mai multe elemente pe care nu le-am discutat. Include si functii care inlocuiesc pe cele mikroC, functiile ADC. Aceste doua functii: ADC_init() si ADC_read() formeaza impreuna un asa numit driver, mai exact cu aceste doua functii se poate folosi o componenta hardware a controlerului si anume convertorul analog - digital.

 

Cu aceste doua functii se poate face foarte usor un volt-ampermetru si multe altele (evident mai trebuie si procesate/afisate datele). Este un inceput. Probabil ca la un moment dat o sa facem din acestea doua functii .... o "library" pentru a le putea folosi cu usurinta.

 

LE:

Ups, daca continuati asa, cu XC8, am incurcat-o . Eu am doar mikroC full. XC8 nu, pentru ca am un laptop mai "necajit".

Asa cum titlul topicului este "Exercitii de programare de la zero", se poate scrie coduri pentru orice compilator.

Dar daca se cere si acest compilator, o sa ma straduiesc sa mai renunt la unele programe, ca sa am si XC8, Dar nu stiu daca este functional si pe XP.

 

Nu-ti fa griji. Am vrut doar sa dau un exemplu cu privire la cum se poate face un program incat sa fie usor de convertit pentru un alt compilator. Dupa cum vezi diferentele nu sunt foarte greu de "mestecat".

Cu un MPLAB mai vechi (poate nu MPLABX dar unul mai vechi sigur) si oricare versiune de compilator XC8 (chiar si ultima) poti sa te descurci in Win XP.

Ideea este ca atat MPLAB(X) cat si XC8 sunt free pentru orice dimensiune a codului singura diferenta este ca in varianta PRO (cea platita) codul este mai bine optimizat si intra mai mult in controller.

Dar pentru hobbysti care nu au cod-uri extrem de lungi si complexe, acest aspect este irelevant (poate doar daca te incapatanezi sa lucrezi cu controlere foarte limitate in memorie) si in plus se gasesc medicamente pentru aproape orice in zilele noastre.

Edited by mars01

Share this post


Link to post
Share on other sites

@va_cristi: Ha? :nas:

Programul anterior e in doo variante - pentru mikoc si pentru xc8. Eu doar glumeam despre combinarea celor doua programe intr-unul singur (si transformarea lui in ceva greu de tot de citit). :rade:

Tu nu trebuie sa schimbi nimic in calculatorul tau, activezi codul pentru compilatorul tau.

@mars01: glumeam, cum am zis si mai sus, combinatia transforma programul in ceva greu citibil.

A propos, voltampermetru pentru xc8 exista deja pe forum. :rade:

Aici.

Share this post


Link to post
Share on other sites

combinatia transforma programul in ceva greu citibil.

 

:secret :rade: true.

 

Am dat doar un exemplu  :limb:  lumea este foarte incantata de volt-ampermetre - powermetre - solar trackere - termometre etc

Ideea este insa ca fiecare sa ajunga sa si-l poata face el si sa numai depinda de "puteti sa imi modificati si mie hex-ul ala?". 

Edited by mars01

Share this post


Link to post
Share on other sites
Guest

si in plus se gasesc medicamente pentru aproape orice in zilele noastre.

Apropo, sotia mea este farmacista. Crezi ca o sa ma ajute ia sa gasesc medicamentul favorabil?  :rade:

Da, mai glumim si noi. Cica este sanatos sa razi cat mai mult in timpul zilei, Chiar mai inainte sotia i-mi citea ca, cica este bine sa razi de 3 ori cat ai rade de obicei intr-o zi.

Edited by Guest

Share this post


Link to post
Share on other sites

:secret

Combinatia mea era greu citibila, nu a ta.

Am dat doar un exemplu  :limb:

Si eu tot un exemplu. Functional. :)

Share this post


Link to post
Share on other sites

MPLABX chiar imi place si intr-adevar bitii din CONFIG se pot genera grafic. Doar ca tot trebuie sa faci COPY-PASTE si apar in clar in program spre deosebire de mikroC.

Am vrut sa raspund la asta aseara, da' m-am luat cu meciul.

Din punctul meu de vedere, faptul ca bitii de configurare sunt inclusi in cod (si in hex dupa compilare) este un lucru cat se poate de bun - scapi de batai de cap atunci cand "arzi" hexul din alt "mediu", ca nu mai trebuie sa ai grija sa setezi bitii in softul de programare. Asat daca stii cum trebuie setati.

Share this post


Link to post
Share on other sites

 

Aceasta este partea de configurare.

 

Programul se face asa (nu l-am verificat):

 

 

L-am verificat eu acum si e perfect functional ; multe multumiri Mars01 . Vad ca datoria mea catre dumneavoastra tot creste ; mi-ar placea sa o putem stinge cumva ...

Share this post


Link to post
Share on other sites

@iuli09: stai linistit, daca pui problema asa, eu inca am datorii imense fata de altii. Toti suntem datori cu ceva, cuiva.

 

@Liviu_M: sunt de acord cu tine. Si eu prefer tot asa, ii vezi in clar ... plus ca MPLABX face procesul usor (nu trebuie sa stai pentru aceasta sa cauti prin headere dupa cuvinte cheie). Oricum nu am de gand sa fac programe aici in XC8 pentru ca as complica inutil lucrurile pentru multi.

Exemplul oferit a fost folosit deoarece vreau sa punctez (cand am timp si ... chef) cateva chestii si diferente, cum ar fi faptul ca fiecare compilator are particularitati ale sale si moduri in care alege sa expuna programatorului, sa zicem bitii unui registru.

Edited by mars01

Share this post


Link to post
Share on other sites

Exemplul oferit a fost folosit deoarece vreau

Sper ca se intelege ca nu critic ce postezi, ci incerc sa completez/interpretez diversele informatii pe care le oferi.In rest, cum am mai zis-o, tine-o tot asa. :da

Share this post


Link to post
Share on other sites

@va_cristi, MPLABX cu toate acareturile merge f bine si pe XP 32biti, eu il folosesc pe un Celeron de jena cu 1GB RAM si nu sunt probleme. Doar cu scrierea programelor, dar asta nu mai e vina compului  :sparge:

Share this post


Link to post
Share on other sites
Guest

Eu am un AMD 2.1 cu 1Gb RAM, dar nu stiu daca sa mai incarc calculatorul si cu acesta, cu XC8. Acuma am trecut si pe Arduino. Am in calculator si CCS, mikroC full, mai vin si cu XC8, oare este necesar? Daca este, sincer,ma poate ajuta careva cu instalarea prin team viewer :d. Am incercat o data si nu am reusit.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.