![]() |
PIC 16F877A lento?! Ciao, ho un problema. Ho programmato il pic in oggetto per pilotare un display lcd alfanumerico e va lento....:o: Non mi era mai successo prima!!Praticamente mi scrive un carattere al secondo. Utilizzo un quarzo da 16MHz ed i condensatori di risonanza sono corretti. Quale potrebbe essere il problema?Con altri pic non ne avevo mai avuti, nemmeno con ram e rom sfruttate al massimo. Per favore aiutatemi. Grazie e Ciao. |
Mah'... bisognerebbe vedere il programma, come pilota il display. Non credo sia un problema del PIC. |
Beh, il programma deve scrivere su display valori letti dagli ingressi ADC. Poi ha anche un menù sfogliabile con dei tasti... Sono state create delle funzioni per sfoltire il main, potrebbe essere questo che rallenta? |
L'unica cosa che mi sembra strana è il Pic lento. Se non puoi fare debug, prova a fare qualche test empirico, tipo accendere e spegnere un led ogni 300ms. Controlla quanto durano eventuali routine di interrupt o se arrivano troppo di frequente... |
Citazione:
|
Interrupt? Flag di compilazione? (hai impostato i valori corretti per il tuo clock? Watchdog?) |
Citazione:
|
vediamo: 1. il pic è guasto. Carica sopra il classico programmino che fa lampeggiare 1 led e vedi. Se non funziona a dovere, è questa l'ipotesi corretta. 2. hai sbagliato qualcosa. Supponiamo i flag siano corretti. Andrei a vedere gli interrupt ogni quanto arrivano ma soprattutto quanto durano. Un ciclo sbagliato all'interno di un interrupt e sei fregato. Se ci pensi, se il pic passa il suo tempo gestendo l'int, va lento... Però solo tu conosci il programma e puoi dare la risposta corretta :wink: |
In che linguaggio/compilatore è scritto il programma ? :yeah: |
Citazione:
|
Tanto ha ragione lui :wink: Ovvero: sei tu che sbagli :fiu::icon_rofl (sempre che non sia il pic guasto, ma mi sembra strano) |
Citazione:
Ma appunto, dopo tanti anni di programmazione dei PIC mi da problemi proprio questo che non ho mai utilizzato...:wacko: |
Citazione:
se pensi che non sia un problema sw, prova a cambiare quarzo e condensatori. saluti |
Hai montato il tutto su una breadboard? Perché potrebbe essere un problema nell'oscillatore che ha difficoltà a partire. E rileggendo il tuo precedente messaggio sembra sia proprio così... L'oscillatore non parte, poi inizia ad oscillare ma si riferma... :uhm: Controlla un po' il collegamento a massa dei condensatori... :mumble: |
Citazione:
Tra un paio di ore mi prendo il datasheet e lo spulcio pagina dopo pagina fino a trovare la soluzione...:uhm: |
Citazione:
Se hai un oscilloscopio vedi se il segnale dell'oscillatore e' corretto, mi raccomando devi isolarti con un buon sistema per prelevare il segnale perche' potresti perturbarlo. Seconda cosa potresti provare a cambiare i settaggi per il tipo di oscillatore.cambia in modo inyterrno o esterne con rete rc se puoi sono prove che ti possono permettere di capire se cambia qualcosa. Poi come ti hanno consigliato sostituisci il programma con un semplice ciclo sul main dove mandi a livello alto e basso un pin e poi lo controlli con l'oscilloscopio e vedi selezionando idiversi tipi di clock che succede. |
Allur? Hai risolto? :rolleyes: A questo punto voglio sapere cosa era :fiu: |
Citazione:
Sto scrivendo un nuovo sorgente modificando alcuni dati da acquisire così da non dover utilizzare interrupt.:) |
mmm.... :uhm: Allora il pic era ok e anche il clock funzionava correttamente. Era la gestione degli int che aveva qualche problema. :asd::azz::ph34r: |
Citazione:
|
Citazione:
Prima di aggiungere integrati posta il codice che vediamo cosa c'è che gli fa perdere tutto quel tempo! Michele |
Tutti gli orari sono GMT +2. Adesso sono le 23:44. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002