Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Domanda imbarazzante(utente alle prime armi)

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

2
voti

[1] Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto Utentemariot91 » 13 feb 2014, 23:42

Ciao a tutti,
Ho una domanda probabilmente piuttosto banale a cui però non riesco a trovare una soluzione.
Ho realizzato un "voltmetro" con un dspic 30f4011 che banalmente acquisisce una tensione in ingresso tramite l'adc. A questo punto vorrei sapere,una volta messo il segnale in ingresso come posso leggere il contenuto dal registro ADCBUF0 (ho usato il CH0)?Non ho la possibilità di usare la porta seriale o un display lcd al momento quindi volevo semplicemente andare a leggere il valore del registro dall'mplab,come posso fare?
Grazie per l'aiuto
Avatar utente
Foto Utentemariot91
15 2
 
Messaggi: 11
Iscritto il: 24 gen 2014, 21:04

1
voti

[2] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto UtentePepito » 14 feb 2014, 0:10

Ho una versione non aggiornatissima di MPLAB, comunque io sul mio posso vederlo, mentre sono in debug, da View->File Registers

ciao

PSQ
_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_

Pepito Sbazzeguti
"gratta il Pepito e troverai il Pepone"
Avatar utente
Foto UtentePepito
1.759 6 12
Expert EY
Expert EY
 
Messaggi: 493
Iscritto il: 29 set 2012, 16:49

3
voti

[3] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto UtenteTardoFreak » 14 feb 2014, 0:38

Ehm ... mi permetto umilmente di dare un suggerimento.
Uno schedino con un connettore a 3 o 4 poli (+5, TX, RX, GND) per un' interfaccia RS232 dovrebbe essere sempre disponibile. Quindi, secondo il mio modesto parere, varrebbe la pena cablarne uno per usarlo quando serve (in pratica sempre :mrgreen: ).
Poi, per carità, gli strumenti software possono fare la stessa funzione ma avere la visualizzazione su un terminale è sempre più comodo.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto Utentemariot91 » 14 feb 2014, 12:24

Grazie per le risposte.Pepito io avevo già provato in questo modo ma il problema è il seguente: ho provato ad accendere un led fisso sulla PORTB e ad eseguire il read una volta che il programma è in esecuzione.Dallo special funcion register pero' Il valore della PORTB rimane pero' sempre pari a 0000 anche se i led sono effettivamente accesi.L'unico modo per vedere una variazione sulla port B è usando il wach in fase di debugger.Tuttavia questo risulterebbe inutile per quando riguarda il modulo adc poiché per acquisire la tensione ho bisogno di eseguire il programma e non di eseguire il debug.Qualche idea su come risolvere?
Avatar utente
Foto Utentemariot91
15 2
 
Messaggi: 11
Iscritto il: 24 gen 2014, 21:04

3
voti

[5] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto UtentePaolino » 14 feb 2014, 12:34

Per accendere un LED sui dsPIC devi usare i registri LAT e non i PORT. Quindi, se hai un LED connesso (per ipotesi) a RB0, per accenderlo dovrai impostare:
Codice: Seleziona tutto
LATBbits.LATB0 = 1;


oppure:

Codice: Seleziona tutto
LATB = 1;



Il registro PORTB lo usi per eseguire le letture dai pin della porta B quando questi (i pin) sono INPUT.

mariot91 ha scritto:Tuttavia questo risulterebbe inutile per quando riguarda il modulo adc poiché per acquisire la tensione ho bisogno di eseguire il programma e non di eseguire il debug.Qualche idea su come risolvere?

Perdonami, ma secondo me stai facendo confusione tra utilizzo del simulatore e impiegare un debugger...
Se hai PICKit3, puoi utilizzarlo in modalità debug e, come suggerisce Foto UtentePepito, leggere i registri. Ti basta un break-point nel codice ed il gioco è fatto :ok:

Altro modo utilissimo (qualora non sia presente un debugger, ma non solo) è quello di seguire quello che il maestro Foto UtenteTardoFreak ha indicato!

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[6] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto Utentemariot91 » 14 feb 2014, 12:44

Sisi perdonami avevo sbagliato a scrivere PORTB intendevo il LATB...riprovo con il debugger magari ho sbagliato qualcosa =)
Avatar utente
Foto Utentemariot91
15 2
 
Messaggi: 11
Iscritto il: 24 gen 2014, 21:04

0
voti

[7] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto UtentePepito » 14 feb 2014, 13:49

In ogni caso concordo anche io con Foto UtenteTardoFreak, avere un'uscita su terminale è sempre un metodo semplice ed efficacie...
ciao

PSQ
_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_

Pepito Sbazzeguti
"gratta il Pepito e troverai il Pepone"
Avatar utente
Foto UtentePepito
1.759 6 12
Expert EY
Expert EY
 
Messaggi: 493
Iscritto il: 29 set 2012, 16:49

1
voti

[8] Re: Domanda imbarazzante(utente alle prime armi)

Messaggioda Foto Utentemariot91 » 14 feb 2014, 15:29

Grazie mille ho risolto,non avevo riconfigurato gli switch sulla dsPICDEM2 ecco perché in fase di debug non vedevo nulla^^..ora funziona,grazie per l'aiuto e per i consigli!
Avatar utente
Foto Utentemariot91
15 2
 
Messaggi: 11
Iscritto il: 24 gen 2014, 21:04


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti