Titano Inserito: 1 febbraio 2004 Segnala Share Inserito: 1 febbraio 2004 Sono alle prime armi....ho inziato da poco!Mi son costruito (schema elettrico e board) il programmatore....prendendo un pezzo lì e un pezzo là...comunque funziona benissimo.Sto utilizzando un 16F877... Il programma che uso per complialre è PICC LITE....quindi sto programmando in C.Qui sorge il dubbio vedo che tutti voi compilate in assembler....sto sbagliando ad usare il c?Un altro probllema che ho trovato è la diversità di linguaggio tra i diversi compilatori C, insomma non riesco a trovare un manuale per PICC LITE e gli altri compilatori hano una sintassi diversa rispetto al PICC LITe nonnostante sia C.. me...che faccio passo all'assembler....ma è tostoAlessandro Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 1 febbraio 2004 Segnala Share Inserita: 1 febbraio 2004 Non so se il PICC LITE sia quello che sto usando io, ma il manuale dovrebbe essere dato assieme al disco di istallazione. Comunque le differenze sintattiche dovrebbero riguardare solo le istruzioni specifiche del pic.Si usa l'assembler perchè riesci a stressarlo meglio, in altre parole impieghi meno meomoria per fare le medesime cose; meno memoria è anche minor tempo di esecuzione.Fai una prova: compara un valore e salta se ugoale a zero (p.e.), compila, poi vai a vedere le istruzioni assembler generate dal compilatore: sicuramente ne puoi toglere un paio! In effetti le comparazioni sono le meno ottimizzate. Link al commento Condividi su altri siti More sharing options...
Titano Inserita: 1 febbraio 2004 Autore Segnala Share Inserita: 1 febbraio 2004 ok....e fin qui cis ono non sto pedendo tempo a programamre in c Sto studiando la parte dei tempi, ossia vari timer del 16f877 ed il pre e post scallerAIUTOOOOOOOO avrei bisogno di qualche esempio in c.... ossia il valore del timer dove è registrato?SU TMR=? lo posso usare come una variabile ossia:IF(TMR0 < 125){ .........Alessandro Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 1 febbraio 2004 Segnala Share Inserita: 1 febbraio 2004 Io ho iniziato con l'assembler perche' i compilatori validi in C sono tutti a pagamento ... e cari .Il fatto che le sintassi sono differenti e' perche' si usano solo le basi dell'ansi C poi ogni programmatore ha addattato u comandi alle risorse dei pic come ha ritenuto piu comodo...Io per programmare in c uso il C compiler della CCS , ottimo prg , ma non gratis....Per esempio per leggere il valore del timer 0 nel CCS C si deve fare : int tempo; tempo = get_timer0(); if (tempo<125) { ........ istruzioni... }ora dovrei vedere nel tuo compilatore , ma deve essere una cosa simile... Link al commento Condividi su altri siti More sharing options...
claudio Inserita: 2 febbraio 2004 Segnala Share Inserita: 2 febbraio 2004 Il compilatore PICC in effetti non possiede delle funzioni built-in potenti come quelle ritrovabili nel compilatore CCS, e da questo punto di vista forse è un bene perchè alla fine il risultato della compilazione si avvicina molto a quanto si sarebbe potuto scrivere direttamente in assembly.L'impostazione fatta per leggere lo stato del timer col il compilatore PICC è perfetta: è possibile proprio far riferimento direttamente al file register TMR0, naturalmente dopo aver incluso nel sorgente il file pic.hPersonalmente ho programmato per molti anni svariati microcontrollori (tra cui anche il PIC) in assembly, ma a un certo punto, visto anche le applicazioni che dovevo realizzare, dove erano richiesti calcoli su dati acquisiti abbastanza complessi, non ho potuto fare a meno di passare al C.Attualmente sto utilizzando il PICC compiler della HT-SOFT versione 8.02 PL2, che tra l'altro si integra alla perfezione con MPLAB 6.40 consentendo di effettuare dei debugging molto avanzati (mi permetto di suggerire di non trascurare, in questo senso, le potenzialità di MPLAB nella gestione di stimoli asincroni applicabili durante il run-time).Ciao a tutti Claudio Link al commento Condividi su altri siti More sharing options...
Titano Inserita: 2 febbraio 2004 Autore Segnala Share Inserita: 2 febbraio 2004 Grazie claudio per la tua risposta. Coem faccio a calcolarmi il clock in uscita dal tmr0 o 1 o 2?SE x esempio voglio un clock da 1 secondo con un quarzo da 20Mhz potresti farmi un esmpio di codice con i commenti dovrebbe bastare x capitre...non riesco ad utilizzare il OPTION_REG....il compilatore non me lo riconosceGRazieAlessandro Link al commento Condividi su altri siti More sharing options...
Titano Inserita: 2 febbraio 2004 Autore Segnala Share Inserita: 2 febbraio 2004 Sto utlizzando gli interrrupt del 16F877. Questo dispositivo al verificasi di un interrupt va al registro 0004h.In assembler è semplice posizionarsi sul registro 0004h, ma con il PICC Lite come devo fare?....scrivo il codice in c ma non so dove viene registrato all'interno del PIC. GRazieAlessandroP.S.X l'option_reg ho trovato....bisognava solo scrivere OPTION Link al commento Condividi su altri siti More sharing options...
claudio Inserita: 4 febbraio 2004 Segnala Share Inserita: 4 febbraio 2004 I quesiti posti sono diversi e cercherò di dare una risposta più o meno attendibile.OPTION_REG è errato perchè bisogna utilizzare solo OPTION come hai già visto; comunque la cosa migliore per non sbagliarsi con i nomi dei file register è di andare a vedere il file .h corrispondente al PIC per il quale si sta realizzando il progetto (si trova nella cartella include sottocartella di ht-pic, se ben ricordo)Per quello che riguarda gli altri problemi proverei ad inviarti in qualche modo (non so come) alcuni appunti tratti dal corso di Tanzilli e da me riadattati all'utilizzo del C a proposito di queste questioni; spero siano sufficientemente chiari.Buon lavoro Link al commento Condividi su altri siti More sharing options...
takoda Inserita: 16 ottobre 2004 Segnala Share Inserita: 16 ottobre 2004 Scusate l'intrusine ma anchio cerco manuali su picc sapete darmi delle indicazioni magari in italiano soprattutto come lo intergro con mplab!Grazie takoda[at]interfree.it Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora