albert_max Inserito: 12 aprile 2010 Segnala Share Inserito: 12 aprile 2010 (modificato) salve a tutti anche se non (=non) sono nuovo del forum il tempo che mi rimane a disposizione è talmente poco che non (=non) riesco mai ad entrare in questo prezioso sito e sbirciare su tanta roba,,,,,,,,,,,,la cosa che vi chiedo a chi mi volesse aiutare è che sto creando un circuito in smd com un pic 12f675 non essendo un programmatore mi sono affidato al pic basic e sinceramente ho visto che in poco tempo ho tirato giu un pic che facesse tutto cio che mi serviva solo che ora a forza di scrivere il k dello stesso non (=non) mi basta ....ho visto da RS dei pic con 1,75 k di memoria li ho acquistati 2 ma il problema è che picbasic non va oltre l'indirizzo di memoria 3ff....qualcuno mi sa aiutare....poi anche il programmatore... per curiosita ho fatto leggere al programmatore un diy k1249-bc il pic con maggiore memoria ,,,,, ma non (=non) cambia nullaqualcuno mi puo dare qualche consigli?grazie Modificato: 15 aprile 2010 da Fulvio Persano Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 13 aprile 2010 Segnala Share Inserita: 13 aprile 2010 Abbandona il PicBASIC e passa al C (non e’ difficile).Dal sito Microchip scarica la versione lite (gratuita) della HI-TECH. La versione “evaluation” credo che abbia una scadenza di 60 giorni; una volta scaduta continua a funzionare ma non ottimizza più.Per programmare o debug del codice un buon tool è il KITPIC: esistono versioni diverse a prezzi modici. Link al commento Condividi su altri siti More sharing options...
mf2hd Inserita: 14 aprile 2010 Segnala Share Inserita: 14 aprile 2010 Che basic utilizzi (melabs,proton,mikro,oshonsoft,...) ?Tieni conto che alcuni compilatori, pur supportandoli, non vanno molto bene con i 12F.Se vuoi, prova a postare il listato.Forse e' solo da sistemare un po': alcune istruzioni (tipo "goto") fanno presto ad aumentare le dimensioni del programma finale.Considera anche il buon suggerimento di kappa47.Ma alla fine, se il PIC e' troppo "piccolo" rispetto a quello che vuoi implementare, c'e' poco da fare, devi passare ad altro modello. Personalmente, quando mi serve un "piccolo", uso i PIC12F683:2048 di flash20Mhz6 I/O4 convertitori A/D1 ComparatoreSu ebay si trovano anche a meno di 1euro l' uno, se presi in blocchi di 5 o piu'. Link al commento Condividi su altri siti More sharing options...
albert_max Inserita: 15 aprile 2010 Autore Segnala Share Inserita: 15 aprile 2010 (modificato) grazie tante per le vostre pronte risposte....comunque picbasic melabs versione se non (=non) erro 2,47so che "c" è piu potente pero non (=non) sono programmatore dovrei cominciare a scrivere da capo e capire con difficolta il cpoi una cosa .... io uso i comandi pulsin "per il controllo degli impulsi che vengono da un ricevitore rc "ed un altro comando che non (=non) ricordo per misurare la frequenza che esce da un sensore magnetico per visualizzare i giri di un motoro rcquesti comandi sono presenti in "c" (scusate la mia ignoranza )comunque per quanto riguarda il 2 pic da usare devo vedere il datasheet e se non (=non) cambia particolarmente la piedinatura se riesco ad adattare i vari gpio credo che passero a quello suggeritograzie Modificato: 15 aprile 2010 da Fulvio Persano Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 15 aprile 2010 Segnala Share Inserita: 15 aprile 2010 Il “C”, nonostante si creda il contrario, non è un linguaggio ad alto livello, semmai di medio livello. La sua “potenza” è data dalle librerie a corredo che sono fatte in funzione del micro per cui è stato sviluppato.Da qui, nascono diverse versioni che spesso non rispettano lo standard ANSI (vedi ad esempio le variabili “boolean”).Tutto questo per dire che non ti devi aspettare “istruzioni” o comandi del tipo “pulsin” a meno che non ci siano in libreria (cosa che non credo).Tutto ciò che non c’è lo devi implementare tu, ma ripeto, non è difficile e rimane comunque un linguaggio efficiente e versatile con cui puoi fare di tutto e di più… Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 15 aprile 2010 Segnala Share Inserita: 15 aprile 2010 E' una stana teoria la tua. Dovresti remderla nota anche ai vari enti e società informatiche, come la AICA o IEEE, nonchè alle università informatiche di tutto il mondo che si si ostinano a definere i "C" come HLL (Hig Level Language).Tra l'altro lo standard ANSI è praticamente superato da anni, sopravvive solo come riferimento didattico. Oramai tutti i compilatori hanno istruzioni e "built in function" dedicate.Se prendi, ad esempio, il compilatore della CCS dedicato hai PIC trovi giusto una serie di built in function che ne ottimizzano l'uso per questi micro, come anche le dimensioni delle variabili intere sono state rimodellate per ottimizzare le risorse del micro.Poi esistono anche le funzioni di libreria, ma quieste sono un altra cosa. Link al commento Condividi su altri siti More sharing options...
mf2hd Inserita: 15 aprile 2010 Segnala Share Inserita: 15 aprile 2010 Come gia' scritto, la famiglia 12F ha delle limitazioni nella ottimizzazione del codice, vedi paragrafo 7.6 del manuale pdf ( in quello html non c'e'):manualeviene citato che uno dei limiti e' dovuto alla quantita' di RAM per le variabili, consigliando una versione di micro che ne abbia di piu'.es. PIC12F675 -> 64K PIC12F683 -> 128KParticolare attenzione va fatta con le istruzioni di salto (GOTO, GOSUB), specie se nidificate: fanno presto a "bere" memoria disponibile.L' istruzione PULSEIN, come altre simili, e' da utilizzare con criterio e non certo nel caso uno intenda realizzare un frequenzimetro o un conteggio veloce e preciso.In certi casi bisogna utilizzare l' interrupt, e anche qui le strade sono molteplici:- usare le funzioni basic del compilatore, semplici ma non precisissime.- usare delle routine preconfezionate, vedi l' ottimo lavoro di Darrel Taylor:interrupt- usare l' assembler, all' interno del codice basic, per le routine "particolari".La versione che citi (2.47) e' di qualche anno fa, ora e' disponibile la 2.50.Dato che gli upgrade della melabs non sono molto frequenti si possono supporre delle marcate migliorie introdotte con l' ultima release.Se non l' hai gia' fatto, provato a dare un' occhiata al forum di supporto:Supportforse trovi qualche spunto per migliorare il tuo programma.Non mi intedo di RC e magari e' tutt'altra cosa rispetto a quello che devi fare, ma nel forum di supporto citato mi e' saltato agli occhi questo thread :link_rcSe non hai esperienza particolare di programmazione, rimane sempre il consiglio dato da altri: comincia ed impara con il "C".Una volta presa la "brutta strada" del basic e difficile tornare indietro e si finisce sempre con il ricadere in questo linguaggio, semplice ed intuitivo, ma spesse volte poco performante. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 15 aprile 2010 Segnala Share Inserita: 15 aprile 2010 Quoto in toto Link al commento Condividi su altri siti More sharing options...
albert_max Inserita: 15 aprile 2010 Autore Segnala Share Inserita: 15 aprile 2010 Per prima cosa ringrazio tutti per i consigli datomi che sicuramente stanno apportando un prezioso aiuto alla risoluzione del problema ,,,sinceramente la cosa che mi butta un po giu e che, avendo imparato a usare un po il pic basic e con l'esperienza che ho con l'elettronica e vari componenti (soprattutto ) in smd mi sentivo sicuro, ora che sento voi parlare mi viene ricordato sempre + che bisogna sempre tenere la testa bassa e con umiltà studiare studiare studiare. magari con maggiore lentezza rispetto ad uno che ha esperienza nel software.........comunque ho letto il forum sull' rc forte.............continuerò il mio circuito per ora con il pic basic e farò prove con il pic 12f683 in attesa di passare a qualcosa di s/w come il cgrazie a tutti ............. 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