×
MSP430, Microcontrollori 16 bit Ultra Low Power
msp432 - adc14 timerA
8 Anni 4 Mesi fa #6
da Mauro Laurenti
Risposta da Mauro Laurenti al topic msp432 - adc14 timerA
Ciao Luca,
purtroppo non ho molto tempo per vedere i dettagli della configurazione.
La configurazione degli esempi presentati per l'MSP432 dovrebbero comunque essere validi.
Nel tuo esempio quello che devi cambiare e' solo il fatto che lo start of conversione e' nell'ISR del timer e attendi la fine conversione nell'ISR stessa piuttosto che un loop continuo di conversione.
Visto che l'esempio non e' troppo complicato ti consiglio anche di simularlo.
Fare delle prove pratiche con un segnale in ingresso ti puo' anche aiutare e durante la simulazione puoi vedere se i valori dei registri e letture sono corrette.
Saluti,
Mauro
purtroppo non ho molto tempo per vedere i dettagli della configurazione.
La configurazione degli esempi presentati per l'MSP432 dovrebbero comunque essere validi.
Nel tuo esempio quello che devi cambiare e' solo il fatto che lo start of conversione e' nell'ISR del timer e attendi la fine conversione nell'ISR stessa piuttosto che un loop continuo di conversione.
Visto che l'esempio non e' troppo complicato ti consiglio anche di simularlo.
Fare delle prove pratiche con un segnale in ingresso ti puo' anche aiutare e durante la simulazione puoi vedere se i valori dei registri e letture sono corrette.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Mauro Laurenti
- Moderator
Riduci
Di più
8 Anni 4 Mesi fa #7
da luca.palombella
Risposta da luca.palombella al topic msp432 - adc14 timerA
Cosa intendi con "Nel tuo esempio quello che devi cambiare e' solo il fatto che lo start of conversione e' nell'ISR del timer e attendi la fine conversione nell'ISR stessa piuttosto che un loop continuo di conversione". Se mi fai capire la riga di codice che devo cambiare velocemente poi provo. Grazie buona giornata.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luca.palombella
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 10
- Ringraziamenti ricevuti 0
8 Anni 4 Mesi fa #8
da Mauro Laurenti
Risposta da Mauro Laurenti al topic msp432 - adc14 timerA
non devi cambiare nulla.
Glie esempi per MSP432 forniti da TI credo siano a loop continuo.
L'inizializzazione dell'ADC nel tuo progetto rimane uguale eccetto eventuale loop continuo, tu vuoi conversioni singole.
Lo start of conversion e fine conversione lo fai nell'ISR del timer.
Va bene cosi.
Prova a simulare per vedere se e' sfuggito qualcosa.
Saluti,
Mauro
Glie esempi per MSP432 forniti da TI credo siano a loop continuo.
L'inizializzazione dell'ADC nel tuo progetto rimane uguale eccetto eventuale loop continuo, tu vuoi conversioni singole.
Lo start of conversion e fine conversione lo fai nell'ISR del timer.
Va bene cosi.
Prova a simulare per vedere se e' sfuggito qualcosa.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
8 Anni 3 Mesi fa #9
da luca.palombella
Risposta da luca.palombella al topic msp432 - adc14 timerA
Ciao,
riprendo questo post un attimo. Ho notato che in realtà con questo metodo adc non campiona da adc_start -> adc_end ma va dal tempo 0 fino al tempo di save (900) in cui invio i dati alla seriale. In pratica è come se quell'if non funzionasse e il campionamento non avviene nel periodo di tempo gli detto io. Come risolvo secondo voi questo problema? Utilizzo ADC14IsrHandler dell'adc14? Come gestisco però il timerA con quello dell'adc in modo che campioni alla frequenza che ho deciso io (ovvero determini un interrupt = "campione" ad ogni Step = 20)?
Inoltre prima di IR_ON non dovrei avere nessun campionamento (in quanto adc parte dal tempo 20) eppure facendo un controllo pare che entri nel ciclo subito (tempo 0).
Spero di essermi spiegato.
Grazie
Luca
riprendo questo post un attimo. Ho notato che in realtà con questo metodo adc non campiona da adc_start -> adc_end ma va dal tempo 0 fino al tempo di save (900) in cui invio i dati alla seriale. In pratica è come se quell'if non funzionasse e il campionamento non avviene nel periodo di tempo gli detto io. Come risolvo secondo voi questo problema? Utilizzo ADC14IsrHandler dell'adc14? Come gestisco però il timerA con quello dell'adc in modo che campioni alla frequenza che ho deciso io (ovvero determini un interrupt = "campione" ad ogni Step = 20)?
Inoltre prima di IR_ON non dovrei avere nessun campionamento (in quanto adc parte dal tempo 20) eppure facendo un controllo pare che entri nel ciclo subito (tempo 0).
Spero di essermi spiegato.
Grazie
Luca
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luca.palombella
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 10
- Ringraziamenti ricevuti 0
Moderatori: Mauro Laurenti, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.