Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

MikroC oppure HI-TECH C?

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] MikroC oppure HI-TECH C?

Messaggioda Foto Utentefikele » 4 mag 2011, 9:45

Ciao a tutti;
Questo è il mio primo messaggio nel forum. Ho trovato il sito molto interessante e faccio i complimenti a chi lo gestisce.
Parto con la mia domanda. Da diversi mese utilizzo proficuamente il MikroC per piccole applicazioni con PIC16F876. Come hardware ho la EasyPIC4.
Ultimamente mi è stato "regalato" un kit di sviluppo della Microchip ICD3 con PicDem2+.
Nel software allegato c'è l'MPLAB. Questo bel software lo usai tempo fa per piccole prove in assembler.
Installando quest'ultima versione ho visto che è possibile installare un versione gratuita dell'HI-TECH C per PIC10/16, che non ha limitazioni di grandezza codice.
La mia domanda è questa. Qualcuno di voi utilizza l'HI-TECH C? Quali differenze ci sono, a livello di librerie, rispetto a quelle (spettacolari) del MikroC?
Ultima domanda. Differenze sostanziali tra MikroC e MikroC PRO?
Saluti e grazie x l'attenzione

Fikele
Avatar utente
Foto Utentefikele
0 2
 
Messaggi: 4
Iscritto il: 4 mag 2011, 9:14

1
voti

[2] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteLucast85 » 4 mag 2011, 15:52

Ciao e benvenuto :D .
fikele ha scritto:Qualcuno di voi utilizza l'HI-TECH C? Quali differenze ci sono, a livello di librerie, rispetto a quelle (spettacolari) del MikroC?

Personalmente utilizzo l'HI-TECH C perché, oltre al fatto che è integrato in MPLAB IDE e mi da la possibilità di utilizzare il mio pickit2 come programmatore e debugger, ha un'interfaccia grafica più professionale.
In più, il fatto di non aver a disposizione delle librerie perfettamente funzionanti ma "invisibili" come nel MikroC, mi obbliga a dover implementare le routine che mi servono da solo. Questo fatto è per me fondamentale perché il mio unico obiettivo è quello di imparare ad utilizzare e programmare dei microcontrollori.
Secondo me, se devi scrivere un firmware in fretta e senza perdere troppo tempo utilizza il MikroC. Viceversa, se ha del tempo e vuoi imparare qualcosa in più usa MPLAB con HI-TECH C.

Ciao! O_/
Avatar utente
Foto UtenteLucast85
125 2 8
Frequentatore
Frequentatore
 
Messaggi: 189
Iscritto il: 13 nov 2009, 16:34
Località: MC

0
voti

[3] Re: MikroC oppure HI-TECH C?

Messaggioda Foto Utentefikele » 4 mag 2011, 18:31

Ciao Lucast85;
Grazie x la risposta e per il benvenuto :ok:
Visto che utilizzi l'HITECH-C vorrei farti qualche semplice domanda.
Praticamente l'H.C è soltanto il linguaggio C "base"?
Quindi tutte le funzioni esterne (per es. gestione display, PWM, ecc.) vanno incorporate nel codice includendole nel codice?
Le funzioni quindi te le scrivi da solo? Quindi con parti di codice in assembler?
Se mi fai qualche esempio x capire meglio te ne sarei tanto grato.
Grazie ancora x l'enorme disponibilità e pazienza.
Avatar utente
Foto Utentefikele
0 2
 
Messaggi: 4
Iscritto il: 4 mag 2011, 9:14

1
voti

[4] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteLucast85 » 4 mag 2011, 20:04

Lucast85 ha scritto:Praticamente l'H.C è soltanto il linguaggio C "base"?
Si, è un ANSI C ed ha qualche funzione di base (ricordati che dovrai aggiungere gli header file che ti servono) come i ritardi (__delay_us, __delay(), ecc), le funzioni matematiche ed altro. Per vedere le funzioni che hai disponibili guarda il capitolo 7 del manuale dell' HI-TECH C; lo apri premendo F11 in MPLAB IDE.
fikele ha scritto:Quindi tutte le funzioni esterne (per es. gestione display, PWM, ecc.) vanno incorporate nel codice includendole nel codice?
Si, io personalmente includo gli header con la direttiva #include 'filedaincludere.h' scritta nel main.c ed importo i 2 files della libreria (il .h delle dichiarazioni ed il .c delle definizioni) nel progetto copiandoli in source_files (i files .c) ed in header_files (i file .h).
fikele ha scritto:Le funzioni quindi te le scrivi da solo? Quindi con parti di codice in assembler?
Si, diciamo che leggo i datasheet e/o scopiazzo qua e la :oops: ... ma non è necessario scriverle in assembler, io per esempio scrivo tutto in C.
Se non sbaglio puoi scrivere anche istruzioni in assembler all'interno del codice C includendolo fra le direttive #asm ed #endasm, ma io non l'assembler non lo parlo :twisted: .
fikele ha scritto:Se mi fai qualche esempio x capire meglio te ne sarei tanto grato.
Sto scrivendo una libreria che ho chiamato 25xx640_spi.c per leggere e scrivere su una memoria esterna tramite interfaccia SPI, se non sbaglio è nel thread sotto a questo :D ... ma non ti conviene guardare le schifezze che scrivo io, guardati ad esempio quella nella cartella C:\Program Files (x86)\HI-TECH Software\PICC\9.80\samples\LCDemo (il file lcd.c).
Questa libreria è solo un esempio e non è inclusa nell'Hi-TECH C (dovresti copiare i files te nel progetto e non è detto che vada bene per qualsiasi LCD). Invece, da quel che ho capito io, il MikroC ne ha a disposizione un'infinità costruite davvero molto bene (ad es. le librerie del MikroC funzionavano correttamente col mio LCD al contrario di quella di HI-TECH C). Il lato negativo è che in MikroC non le puoi ne vedere ne modificare...
Ciaooo O_/
Avatar utente
Foto UtenteLucast85
125 2 8
Frequentatore
Frequentatore
 
Messaggi: 189
Iscritto il: 13 nov 2009, 16:34
Località: MC

0
voti

[5] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteDarwinNE » 5 mag 2011, 0:20

Mi allaccio qui con una domanda.
Dopo tutti questi anni, mi sono un po' seccato di usare sempre l'assembly anche per i progetti che non lo richiedono e dato che conosco piuttosto bene il C volevo utilizzarlo anche per i PIC.
Esiste un compilatore C funzionante a linea di comando, multipiattaforma? In pratica, fino ad adesso ho utilizzato con soddisfazione il compilatore gpasm che fa parte di gputils, ma vorrei sapere se esiste qualcosa di simile anche per il linguaggio C (non ho il coraggio di sperare in un GCC).
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[6] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteLucast85 » 5 mag 2011, 0:37

DarwinNE ha scritto:Esiste un compilatore C funzionante a linea di comando, multipiattaforma?

Sparo un nome: SDCC. Però non sono un esperto e non sono sicuro se è quello che cerchi...
Saluti.
Avatar utente
Foto UtenteLucast85
125 2 8
Frequentatore
Frequentatore
 
Messaggi: 189
Iscritto il: 13 nov 2009, 16:34
Località: MC

0
voti

[7] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteTardoFreak » 5 mag 2011, 1:02

Confermo SDCC
Non l' ho mai usato ma e' stato il primo su cui ho messo gli occhi quando ho ripreso ad usare i PIC.

Anzi, sarebbe bello avere un feedback su questo compilatore.

Quindi una recensione, anche a spanne, sarebbe apprezzata.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[8] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteDarwinNE » 5 mag 2011, 7:17

Sembra molto interessante, grazie per la segnalazione. Tra l'altro, anch'io sarei interessato a leggerne una recensione!
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[9] Re: MikroC oppure HI-TECH C?

Messaggioda Foto Utentefikele » 5 mag 2011, 9:13

Grazie Lucast!
Le tue risposte sono state illuminanti. Ho fatto delle prove ed effettivamente nel Hitech-C non ci sono librerie, di nessun tipo (neanche x il delay).
Ho letto il codice sorgente da te scritto (assolutamente non è una schifezza :lol: ) e ho visto che praticamente si tratta di gestire e configurare i vari registri/bit che ti interessano. Quindi è possibile fare tutto (o almeno credo)con il C.
Effettivamente il mikroC, con le sue librerie, è molto più performante e ti permette di fare in poco tempo tutto quello che ti serve. Il contro è che, tutte le librerie sono "nascoste" all'utente e quindi non sono né modificabili e neanche ottimizzabili.

In conclusione, se si vuole sviluppare per PIC in poco tempo (e comunque bene) direi senza dubbio di scegliere il MikroC, mentre se si vuole imparare a fondo i PIC (perdendo comunque tanto tempo) meglio l'HITECH-C.

Grazie ancora x l'aiuto
a presto
Avatar utente
Foto Utentefikele
0 2
 
Messaggi: 4
Iscritto il: 4 mag 2011, 9:14

0
voti

[10] Re: MikroC oppure HI-TECH C?

Messaggioda Foto UtenteLucast85 » 5 mag 2011, 11:14

fikele ha scritto:(neanche x il delay)

[-X Forse quella è una delle poche che hai ;-) . Ripeto, puoi vedere le funzioni che hai disponibili ed i relativi header files da includere per poterle utilizzare nel capitolo 7 del manuale HI-TECH C (premi F11 in MPLAB).
fikele ha scritto:In conclusione, se si vuole sviluppare per PIC in poco tempo (e comunque bene) direi senza dubbio di scegliere il MikroC, mentre se si vuole imparare a fondo i PIC (perdendo comunque tanto tempo) meglio l'HITECH-C.
Esatto!! Nel tuo caso però hai l'hardware che ti complica la vita che, volendo, puoi sempre regalare a qualcuno qui sul forum :mrgreen: . Scherzi a parte, penso che se vuoi usare l'ICD3 hai vantaggi in fase di debug usando MPLAB. Leggi qui: http://www.mikroe.com/forum/viewtopic.php?f=97&t=27907.
Comunque ti consiglio di provarli entrambi per renderti conto da solo di quale sia il migliore.
Io sono partito convinto con il mikroc poi, dopo essere riuscito a scrivere dei caratteri su un display in 15 minuti, mi sono reso conto di non aver capito una mazza. Da quel giorno utilizzo l'MPLAB e la notte non dormo più #-o , ma questa è un'altra storia...
In bocca al lupo!
Ciao
Avatar utente
Foto UtenteLucast85
125 2 8
Frequentatore
Frequentatore
 
Messaggi: 189
Iscritto il: 13 nov 2009, 16:34
Località: MC


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti