Jump to content
ELFORUM - Forumul electronistilor

MPLAB configurare si instalare compilator de C


Recommended Posts

Salutare.Am o problema.Am construit o clona de pickit2 si o placuta de dezvoltare in jurul un PIC16F887.Aseara am instalat MPLAB ultima versiune de pe site de la Microchip.Am facut in MPLAB un nou proiect cu Project Wizard am selectat de acolo la Toolsuite MPASM.Am incarcat un proiect mai vechi facut acum cativa ani tot in MPLAB mai vechi cu un fisier .c care stiu ca mergea sigur.Cand am dat Build All insa mi-a dat FAILED.Mi-am adus aminte ca inainte parca instalasem si un compilator HI-TECH C asa ca am gasit undeva un executabil si am instalat si acest compilator.Am facut din nou proiect cu Project Wizard si am selectat la compilator la toate fisierul picc.exe de unde s-a instalat compilatorul pe C.Am dat Build All dar tot nu merge...Ce poate sa fie?Unde gasesc un tutorial ca sa-mi mearga MPLAB cu un compilator de C sigur?Multumesc!

Link to comment
  • Replies 17
  • Created
  • Last Reply

Top Posters In This Topic

Am instalat ultimul fisier care e acolo...dar nu mi se pare ca ar face ceva...Am gasit pe calc un kit de HT PIC mai vechi si acela de-abia mi-a pus pe C folderul in care era picc.exeDin pacate desi am facut toate legaturile la picc.exe cand dau Build sau Make nu merge...Azi cand ajung acasa dezinstalez tot MPLAB si HT si instalez din nou.Faza ca ala primul fisier de acolo de unde ai pus tu care zice ca e versiune si PRO si Lite nu ma lasa sa-l downloadez.O sa postez si ce eroare imi da poate ma ajutati.Intre timp am mai citit pe net si am vazut ca alte optiuni ca si compiler ar fi ceva de la CCX si ceva SourceBoost o sa incerc si cu acelea.Ma gandesc poate imi recomanda cineva care a mai facut cod pe PIC16 care ar fi cel mai bun Free n-as vrea sa folosesc versiuni crackuite.

Link to comment

Pai eu folosesc picc de la HiTech, varianta lite si n-am probleme. Si nu tin minte sa fi facut ceva special, in afara de toolsuite ala.

Ce-i drept exista doua locuri unde se selecteaza compilatorul, da' n-am cum sa verific acum care.

Pentru compilerul nou asa-i, trebuie sa te inregistrezi la uChip pe site, da' nu vad de ce n-ai face-o. Compilerul e free.

Sau poti sa vezi daca cel de la sectiunea mplabx merge si cu mplab normal, ca ala e liber, fara inregistrare.

Link to comment

Am reusit sa compilez miniprogram in C folosind MPLAB.Am procedat asa :1. Am instalat MPLAB, la instalare am bifat si optiunea : Microchip Applications -> High Tech C for PIC10/12/16.2. Dupa instalare am pornit aplicatia HI-TECH C Compiler for PIC10-12-16 MCUs V9.83-> Activate or Trial PRO mode si am ales "Operate in light Mode"3. Am facut pas cu pas tutorialul din HI-TECH C Compiler for PIC10-12-16 MCUs V9.83 -> Quickstart guide : se descriu pasii pt configurarea unui proiect C.Am reusit sa compilez si sa fac debug pe mini exemplul lor : #include __CONFIG(FOSC_XT & WDTE_OFF& PWRTE_OFF & BOREN_OFF &LVP_ON & WRT_OFF & DEBUG_ON & CPD_OFF & CP_OFF);void init(void){ // port directions: 1=input, 0=output TRISB = 0b00000000;}char counter;void main(void){ counter = 0; init(); while (1){ PORTB = counter; _delay(10); counter++; }}Sper sa iti fie de folos.

Link to comment

http://stackoverflow.com/questions/1030985/pic16-c-compiler

 

Aici am gasit asa un rezumat la compilatoarele care exista momentan free ptr PIC16.

 

Ok merci de sugestii.

Prima chestie care o fac va fi sa reinstalez MPLAB cu toate optiunile alea -> daca ii dau complete le instaleaza el automat pe toate?

Si o sa incerc sa compilez intai un exemplu ca si tine sa vad daca imi merge.

N-as vrea sa ma inregistrez pentru ca oricum trag odata compilatorul ala si nu ma intereseaza sa-mi trimita astia mail-uri sau sa mai am inca un cont degeaba pe un site pe care n-o sa intru decat odata.

 

Merci mult de suport, va anunt diseara ce am rezolvat!

 

P.S.: Ce este mplabx si este mai bun decat mplab?

Link to comment

Mie mi-au trimis e-mail doar cand mi-am uitat parola si am cerut alta :rade:

mplabx este viitorul mplab, bazat pe netbeans. Din punctul meu de vedere, avantajul e ca e multiplatforma (adica merge si in linux), desi se pare ca-s mai multe (editare mai "placuta", gestionare mai usoara de proiecte mai mari, mai usor de extins prin plugin-uri).

Din pacate nu va suporta ICD2 (nici pickit2, da' asta nu ma intereseaza, ca n-am), asa ca sunt in dilema - desi l-as folosi, ca merge in linux, nu-l folosesc ca nu-mi merge programatorul.

Deocamdata e beta, asa ca nu-s convins ca-l vrei.

 

LE Oricum, poti citi si singur ce-i cu el, ca nu dauneaza. :rade:

Link to comment

Daca faci instalare completa se instaleaza si compilatorul "HI-TECH C C....."Atentie, "HI-TECH C Compiler for PIC10-12-16 MCUs V9.83" se instaleaza intr-un meniu diferit in Windows menu.Ca sa setez optiunea light nu a trebuit sa ma inregistrez niciunde. Instalarea de MPLAB am facut-o luni, deci nu au trecut multe zile, si vad ca functioneaza in continuare.Din cate am citit versiunea light este libera, dar codul nu este super optimizat, si ocupa ceva mai multa memorie, atata tot, dar nu sunt sigur.

Link to comment

Merci mult awyAseara am dezinstalat MPLAB si am instalat totul din nou.Intr-adevar mi-a mers si HI TECH Compiler si s-a instalat ok. :101 Am deschis proiectelele vechi pe care le aveam facute si au compilat toate! :da :aplauze Treaba e buna am reusit sa connectez si clona de pickit2 si sa downloadez codul generat pe el dupa mai multe incercari.Din pacate n-am avut timp sa si testez daca ruleaza softul pe PIC, tre sa mai lipesc la un conector de leduri pentru 1 port ca sa testez daca merge softul.Merci tare mult de suport si daca mai am ceva intrebari o sa postez tot aici.Din pacate eu am facut o clona de pickit2 de pe un site care nu este full featured si nu merge Debugger-ul :bataie ce fain ar fi fost daca as fi avut o clona full sa mearga si Debugger si Logic Analyzer si tot...

Link to comment

Ma bucur ca ti-a fost de folos.Din pacate aici se opreste stiinta mea, in putinul meu timp liber o sa ma joc si eu cu PIC-uri, si sper sa mai invat una alta.Am si eu o clona de PICKIT2 luata de pe forum, pare ca merge, sper in weekend sa incerc sa aprind si eu un LED :101 Spor la treaba :dans:

Link to comment

Daca e clona full sa te folosesti de Debugger si de Logic Analyzer mie chiar imi pare rau ca nu le pot folosi.Debugger - rulezi softul pas cu pasLogic analyzer - folosesti pinii de la pickit ca si sonde ptr semnale logice adica poti sa le inregistrezi si sa le veziCred ca o sa-mi construiesc sau comand si o clona full featured si pe asta o donez sau o tin la colectie ptr ca vreau si eu featureurile astea.

Link to comment

Am programat PIC-ul de pe placuta cu un programel care ar trebui sa aprinda niste leduri puse pe PORTB.Totul a mers bine dar PIC-ul nu pare sa porneasca si pace.Eu pur si simplu am compilat C-ul si apoi am programat PIC-ul din MPLAB.E vorba de un 16F887, i-am pus cuartz de 20MHz.Initial aveam un cristal de 8MHz cu 2 condensatoare de 47pF dar l-am schimbat cu unul de 20MHz si 2 condensatoare de 22pF.Cand conectez placuta cu PIC am tensiune pe placuta.Pinul MCLR este la 5 V.Dar in rest nu am tensiune pe nici un pin al PIC-ului deci nu porneste.Ce am gresit oare?Am pus manual din MPLAB bitii de configurare la proiect si i-am pus XT cristial la oscilator iar restul le-am pus pe toate pe OFF.Unde si ce sa masor ca sa-mi dau seama ca PIC-ul porneste sau nu?

Link to comment
:aplauze Am reusit :101 merge in sfarsit cu programelul asta:#include #include //rutinele definite mai jos functioneaza corect numai la frecventa de 20 MHz#define WaitFor1Us asm("nop"); asm("nop")#define Jumpback asm("goto $ - 3")__CONFIG(FOSC_HS & WDTE_OFF& PWRTE_ON & BOREN_OFF &LVP_OFF & WRT_OFF & DEBUG_OFF & CPD_OFF & CP_OFF);unsigned char delayus_variable;//maxim 255 us#define DelayUs(x) { \ delayus_variable=(unsigned char)x; \ WaitFor1Us; } \ asm("decfsz _delayus_variable,f"); \ Jumpback;//maxim 255 msvoid DelayMs(unsigned char cnt){ unsigned char i; do { i = 4; do { DelayUs(250); } while(--i); } while(--cnt);}int putere2(int exp){int j,p=1;for (j=1;j Asa in principiu am observat ca merge sa ruleze PIC-ul si cand este conectat pe ICSP la PICKIT ptr ca e alimentat direct pe linia de 5V.Aveti idee ce curent maxim poate sa furnizeze PICKIT?Ar fi mult mai usor sa-l tin asa conectat tot timpul si sa lucrez la program si sa tot downloadez si sa vad efectele.Revin maine cu un update daca am reusit sa invii pickitu si pot sa mai fac si alte chestii.Merci mult de suport!
Link to comment

N-ai nevoie de pic.h, ajunge htc.h

#include <htc.h>
Vezi ca exista deja __delay_ms() si __delay_us() (doua _ la inceput); mai trebuie sa definesti _XTAL_FREQ (la sta nu stiu exact cate linii trebuie la inceput, da' se vaita daca nu-i bine.

#define _XTAL_FREQ  20000000
S-ar putea sa fie suficient de precise.

Pickit n-am, da' daca zici ca se vaita ca montajul e deja alimentat, vezi sa nu ai vreo optiune "alimenteaza montajul din piclkit" bifata. Daca ai alimnetare externa, debifeaza optiunea aia. Cred ca poti alimenta montajul si doar din pickit; curentul e limitat de USB (100 mA ?).

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