Vai al contenuto
PLC Forum


C30 = Una Confusione Totale


Neway

Messaggi consigliati

Ho sempre programmato i pic in Pic Basic Pro, ottimo compilatore. Ora per un progetto più complicato ho bisogno di un dsPIC. Ho provato il MikroC, ma è tremendo, i comandi sembrano semplici ma spesso non funzionano a dovere.

Tutti mi consigliano il C30. L'ho scaricato e sto cercando di farlo funzionare in MPLAB, ma sono assolutamente confuso perché, a mio parere, la documentazione è male organizzata ed MPLAB è decisamene ostico.

Sono abituato a risolvere tutto con due righe di programma. Ad esempio per far funzionare l'ADC in mikroC basta inizializzarlo con un comando e poi fare la lettura con un altro comando, lo stesso per la USART, la SPI, ecc. Con il C30 esiste qualcosa del genere o devo fare tutto a mano settando i registri? (Leggendo il manuale non mi sembra ci sia niente del genere)

Grazie

Link al commento
Condividi su altri siti


Il giudizio sull'organizzazione della documentazione rispecchia un parere soggettivo, ma sul parere che MPLAB sia ostico dissento nel modo più assoluto. Io lo trovo uno degli ambienti di sviluppo più semplici e amichevoli ed è dal 1975 che sviluppo progetti con microprocessori (National, Farchild, Intel, Texas, Mitsubishi, e ancora qualcun altro).

Il C30 in particolare è particolarmente ottimizzato per questi microcontrollori. Per trattare le periferiche ci sono delle built in functions specifiche: nome della funzione e parametri relativi alla funzione stessa. Niente di complicato o di trascendentale.

L'unico problema è che bisogna conoscere ababstanza bene sia il linguaggio "C", sia la versione specifica. Insomma bisogna leggere, anzi studiare, bene il manuale. smile.gif

Link al commento
Condividi su altri siti

Quoto Livio su MPLAB, e aggiungo che il bello del C è proprio la ricchezza delle librerie incluse e non. Una volta presa confidenza con la sintassi sicuramente puoi cercare (se non è già inclusa) la libreria per usare l'ADC con un comando (discasi funzione), in rete trovi veramente di tutto, difficilmente sei costretto a scrivere anche se io spesso lo preferisco, ma solo per soddisfazione personale.

smile.gif

Link al commento
Condividi su altri siti

Per chi le cose le sa già è semplice. Faccio un esempio pratico: se volessi scrivere su una eeprom I2C con un compilatore semplice e poco efficiente come il MikroC o il CSS basterebbe guardare sul manuale per trovare tutto il set di funzioni con ognuna commentata e completa di esempio. Con il C30 ciò non esiste, bisogna reperire da se le informazioni in rete e bisogna stare attenti a includere i vari file .c e .h.

Insomma, per un hobbista è una cosa complessa iniziare.

Ma potreste spiegarmi qual'e la differenza tra il C30 e il corrispondente compilatore hitec? (Oltre il costo). Mi sembrano entrambi scarni in quanto a funzioni.

Grazie

Link al commento
Condividi su altri siti

A volte le cose sono più semplici di quello che sembra. Il problema è solo la pigrizia.

Quando cerchi una libreria ovviamente trovi sia l'header che il codice, che problemi ci sono ad aggiungerli? Ovviamente stiamo parlando di librerie particolari per funzioni particolari, le librerie standard del C sono sicuramente tutte già incluse nel compilatore, qualunque esso sia.

E comunque anche se la dovessi scrivere, di quante istrusioni hai bisogno per leggere l'ADC?... ti fai la tua funzione e te la incolli in tutti i tuoi progetti... la devi scrivere una volta... onestamente non capisco dove sia la difficoltà. smile.gif

ma cosa intendi per "spesso non funzionano a dovere"? non viene compilato il progetto o non funziona l'esecuzione?

Link al commento
Condividi su altri siti

Esatto, spuntano errori vari anche se copi esattamente l'esempio che viene fornito nell'.. Probabilmente qualche volta aggiornano le funzioni e aggiornano l'. alla buona.

Link al commento
Condividi su altri siti

No! Non si può e non si deve fare semplicemnte il copia e incolla degli esempi.

Per scrivere una EEPROM in I2C le isturzioni son sempre le stesse. Se cambi micro cambierà solo la periferia interessata. Se non ricordo male il C30 ha le sue built in function per inizializzare ed utilizzare la periferia I2C, poi devi solo scrivere le istruzioni specifiche per il dispositivo esterno usato, ma queste prescindono dal compilatore.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...