× MSP430, Microcontrollori 16 bit Ultra Low Power

msp432 - adc14 timerA

7 Anni 9 Mesi fa #1 da luca.palombella
msp432 - adc14 timerA è stato creato da luca.palombella

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • luca.palombella
  • New Member
  • New Member
Di più
7 Anni 9 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic msp432 - adc14 timerA
Salve Luca,

da una prima lettura sembra OK.

Puoi fare anche un passo in avanti.

Come riportato nel datasheet e user guide




puoi collegare direttamente il timer al trigger dell'ADC.
Per cui non devi fare alcun controllo nell'ISR del timer.

Dovresti poi gestire l'ISR dell'ADC relativa alla fine conversione, dove sposti il buffer di lettura nel tuo array.

...facendo poi un passo ancora in avanti puoi anche impostare il DMA che usa il segnale di fine conversione dell'ADC per spostare i dati. In questo modo la CPU si sveglia solo dopo il campionamento di tutti i valori d'interesse.

...in ogni modo va bene anche la tua soluzione, che ti permette effettivamente di controllare la frequenza di campionamento.

Per conversioni molto lente potresti disattivare il reference e l'ADC ma ad ogni attivazione dovresti aspettare che il voltage reference sia stabile (settling time). I tempi di attesa sono specificati nel datasheet.
Per conversioni rapide conviene attivare l'ADC e il reference e disattivarli solo alla fine di tutte le letture.

Saluti,

Mauro

P.S.
Ho cancellato il secondo post.
Allegati:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
7 Anni 9 Mesi fa #3 da luca.palombella
Risposta da luca.palombella al topic msp432 - adc14 timerA
Ok diciamo che per quello che ho scritto fino adesso sono già contento ahah i passi avanti che mi dici di fare non saprei bene come fare però se mi confermi che così adc è pilotato bene allora sono soddisfatto :) poi se hai altri suggerimenti scrivi pure, sono principiante e sto imparando un po per volta

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • luca.palombella
  • New Member
  • New Member
Di più
7 Anni 9 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic msp432 - adc14 timerA
...perfetto.

Dividi e conquista.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
7 Anni 9 Mesi fa #5 da luca.palombella
Risposta da luca.palombella al topic msp432 - adc14 timerA
Ciao volevo solo una conferma perchè (almeno per me che magari sono poco pratico) ci vuole poco per avere un comportamento diverso. Per come ho scritto io il codice quindi sto pilotando l'adc in modo che al tempo 20 inizi a campionare ripetutamente su un singolo canale e si fermi poi al tempo 800? Sono giuste anche le accensioni (ADC14CTL0 |= ADC14SC | ADC14ENC;) e gli spegnimenti a conversione ultimata (ADC14CTL0 &= ~ADC14ENC;) dell'adc? infine anche la parte di configurazione dell'acd è giusta? scusa per questi miei dubbi, vorrei solo capire se sto ragionando nel modo giusto xD

Grazie mille per l'aiuto
Luca

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • luca.palombella
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login