- Messaggi: 143
- Ringraziamenti ricevuti 1
errori commessi
13 Anni 3 Mesi fa - 13 Anni 3 Mesi fa #1
da Fausto
errori commessi è stato creato da Fausto
Ciao a tutti i PICchettisti,
come ho spiegato a Mauro, mi sono ritrovato che non riuscivo a far girare il software a pagina 125 del suo manuale "C18 step by step".
Per chi non avesse avuto il tempo per guardare il manuale si tratta solo di un esercizio che mi permette di accendere un led a seconda del pulsante schiacciato, esercitandosi con la struttura switch del C.
Purtroppo mi sono ritrovato non solo che non funzionasse come descritto e per di piu' tutto cadeva nel default della struttura switch.
A questo punto mi sono messo ad osservare il cambiamento delle variabili con l'opzione "watch" e procedendo in "debug" quindi ad ogni riga del progrmma leggevo la mia varibile, ... qualcosa ho visto muoversi, ma sicuramente non aveva una spiegazione molto logica: se schiaccio un solo pulsante mi aspetto che tutti i bit della la porta siano 1, tranne il piedino dove faccio avvenire la caduta di potenziale quindi: 1101 , ad esempio se schiaccio il secondo pulsante.
invece mi ritrovato dalla finestra watch che quando non schiacciavo nulla leggevo 3 binario, ovvero 0011....ma come? era come se avessi schiacciato sia il BT1 e BT2 contemporaneamente.
Stesso valore se chiacciavo BT3 o BT4. Al contrario BT1 e BT2 mi davano un valore piu' ragionevole (2 e 1 bianari).
Mettendo il micro di Mauro ho notato che anche con il suo programmino che ha sempre funzionato BT3 e BT4 si sono comportati in modo strano: il programma chiede di schiacciarli e dopo che ho schiacciato BT3, non mi ha chiesto neanche il Bt4 è proseguito diretto....
Cosa era cambiato rispetto a quando l'ho provato questa mattina? Insomma i circuiti e i programmi non si basano mica sulla filosofia greca...l'IDE era collegato al circuito e quindi anche al PC.
una volta staccato tutto ha funzionato secondo logica.
Guardando il datasheet, non mi sono dato una spiegazione...avete una idea?
come ho spiegato a Mauro, mi sono ritrovato che non riuscivo a far girare il software a pagina 125 del suo manuale "C18 step by step".
Per chi non avesse avuto il tempo per guardare il manuale si tratta solo di un esercizio che mi permette di accendere un led a seconda del pulsante schiacciato, esercitandosi con la struttura switch del C.
Purtroppo mi sono ritrovato non solo che non funzionasse come descritto e per di piu' tutto cadeva nel default della struttura switch.
A questo punto mi sono messo ad osservare il cambiamento delle variabili con l'opzione "watch" e procedendo in "debug" quindi ad ogni riga del progrmma leggevo la mia varibile, ... qualcosa ho visto muoversi, ma sicuramente non aveva una spiegazione molto logica: se schiaccio un solo pulsante mi aspetto che tutti i bit della la porta siano 1, tranne il piedino dove faccio avvenire la caduta di potenziale quindi: 1101 , ad esempio se schiaccio il secondo pulsante.
invece mi ritrovato dalla finestra watch che quando non schiacciavo nulla leggevo 3 binario, ovvero 0011....ma come? era come se avessi schiacciato sia il BT1 e BT2 contemporaneamente.
Stesso valore se chiacciavo BT3 o BT4. Al contrario BT1 e BT2 mi davano un valore piu' ragionevole (2 e 1 bianari).
Mettendo il micro di Mauro ho notato che anche con il suo programmino che ha sempre funzionato BT3 e BT4 si sono comportati in modo strano: il programma chiede di schiacciarli e dopo che ho schiacciato BT3, non mi ha chiesto neanche il Bt4 è proseguito diretto....
Cosa era cambiato rispetto a quando l'ho provato questa mattina? Insomma i circuiti e i programmi non si basano mica sulla filosofia greca...l'IDE era collegato al circuito e quindi anche al PC.
una volta staccato tutto ha funzionato secondo logica.
Guardando il datasheet, non mi sono dato una spiegazione...avete una idea?
Ultima Modifica 13 Anni 3 Mesi fa da Fausto.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Fausto
- Autore della discussione
- Premium Member
Riduci
Di più
13 Anni 3 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: errori commessi
Ciao Fausto,
effettivamente una differenza e' presente, ed e' la presenza o meno del programmatore.
Il programmatore usa le linee RB6 e RB7 che sono appunto i pulsanti BT3 e BT4.
Quando il programmatore e' collegato le linee RB6 e RB7 vengono lette come pulsanti premuti.
Ho deciso di mettere comunque i pulsanti sulle linee RB6 e RB7 poiche' i pulsanti non interferiscono con la programmazione.
Purtroppo questo non permette il debug delle linee RB6 e RB7, ma e' un problema generale del PIC, qualora non si vogliano sacrificare i pin della programmazione.
Una nota a riguardo e' scritta in qualche esempio del testo C18 Step by Step, ma non ricordo esattamente dove.
Saluti,
Mauro
effettivamente una differenza e' presente, ed e' la presenza o meno del programmatore.
Il programmatore usa le linee RB6 e RB7 che sono appunto i pulsanti BT3 e BT4.
Quando il programmatore e' collegato le linee RB6 e RB7 vengono lette come pulsanti premuti.
Ho deciso di mettere comunque i pulsanti sulle linee RB6 e RB7 poiche' i pulsanti non interferiscono con la programmazione.
Purtroppo questo non permette il debug delle linee RB6 e RB7, ma e' un problema generale del PIC, qualora non si vogliano sacrificare i pin della programmazione.
Una nota a riguardo e' scritta in qualche esempio del testo C18 Step by Step, ma non ricordo esattamente dove.
Saluti,
Mauro
Ringraziano per il messaggio: Fausto
Si prega Accedi o Crea un account a partecipare alla conversazione.
13 Anni 3 Mesi fa #3
da Fausto
Risposta da Fausto al topic Re: errori commessi
Grazie come sempre, ... che te devo dì..porta pazienza
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Fausto
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 143
- Ringraziamenti ricevuti 1
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia, doc83
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.