- Messaggi: 28
- Ringraziamenti ricevuti 0
×
MSP430, Microcontrollori 16 bit Ultra Low Power
come si utilizza l' adc del micro msp430 ??
12 Anni 1 Mese fa #6
da Ross
Risposta da Ross al topic Re: come si utilizza l' adc del micro msp430 ??
che differenza c'è tra la modalità repeat single channel e la conversione singola ?? non posso utilizzare la seconda e fare un loop continuo ?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Ross
- Autore della discussione
- Junior Member
Riduci
Di più
12 Anni 1 Mese fa #7
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: come si utilizza l' adc del micro msp430 ??
Ciao,
la modalita' repeat e' un modo per automatizzare la conversione senza intervento della CPU, mentre la conversione unica non rigenera un nuovo trigger automaticamente al termine della conversione.
Nella famiglia MSP430F5xxx e MSP430F6xxx trovi anche la conversione automatica di una sequenza di canali, in maniera ciclica.
Per imparare ad utilizzare l'ADC e' meglio iniziare con la conversione singola e avviare la conversione manualmente.
Saluti,
Mauro
la modalita' repeat e' un modo per automatizzare la conversione senza intervento della CPU, mentre la conversione unica non rigenera un nuovo trigger automaticamente al termine della conversione.
Nella famiglia MSP430F5xxx e MSP430F6xxx trovi anche la conversione automatica di una sequenza di canali, in maniera ciclica.
Per imparare ad utilizzare l'ADC e' meglio iniziare con la conversione singola e avviare la conversione manualmente.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 1 Mese fa #8
da Ross
Risposta da Ross al topic Re: come si utilizza l' adc del micro msp430 ??
Stavo guardando il primo esempio di codice dell' adc in cui si esegue un' unica conversione sul canale ao
while (1)
{
ADC12CTL0 |= ADC12SC; // Start conversion
while (!(ADC12IFG & BIT0));
__no_operation(); // SET BREAKPOINT HERE
}
}
Non capisco perchè nell' and all' interno del ciclo ci mette tutto il registro ADC12FG e non il singolo bit che mi interessa cioè ADC12FG0. In quel caso lì se quel bit era settato essendo bit0 uguale 1 , l and tra i due mi dava uno e negato zero ed usciva dal ciclo.L' uscita dal ciclo corrisponde alla fine della conversione. Non capisco però perchè mi fa l' and tra un registro e un bit..che senso ha ??
while (1)
{
ADC12CTL0 |= ADC12SC; // Start conversion
while (!(ADC12IFG & BIT0));
__no_operation(); // SET BREAKPOINT HERE
}
}
Non capisco perchè nell' and all' interno del ciclo ci mette tutto il registro ADC12FG e non il singolo bit che mi interessa cioè ADC12FG0. In quel caso lì se quel bit era settato essendo bit0 uguale 1 , l and tra i due mi dava uno e negato zero ed usciva dal ciclo.L' uscita dal ciclo corrisponde alla fine della conversione. Non capisco però perchè mi fa l' and tra un registro e un bit..che senso ha ??
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Ross
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 28
- Ringraziamenti ricevuti 0
12 Anni 1 Mese fa #9
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: come si utilizza l' adc del micro msp430 ??
Ciao,
quello che viene fatto e' un bit masking con il BIT0, ovvero quello d'interesse, per questo viene messo tutto il registro.
Se il bit si trovava nella seconda posizione avresti avuto BIT1...
Mettendo BIT0 controlli il bit ADC12IFG0.
Quando ADC12IFG0 vale 1, vuol dire che la misura e' pronta per essere letta.
Messa in and con BIT0 hai 1, che negato vale 0, quindi il l'attesa del while termina e si procede...
Saluti,
Mauro
quello che viene fatto e' un bit masking con il BIT0, ovvero quello d'interesse, per questo viene messo tutto il registro.
Se il bit si trovava nella seconda posizione avresti avuto BIT1...
Mettendo BIT0 controlli il bit ADC12IFG0.
Quando ADC12IFG0 vale 1, vuol dire che la misura e' pronta per essere letta.
Messa in and con BIT0 hai 1, che negato vale 0, quindi il l'attesa del while termina e si procede...
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 1 Mese fa #10
da Ross
Risposta da Ross al topic Re: come si utilizza l' adc del micro msp430 ??
Ok perfetto..nel mio caso credo sia necessario usare il timer con il dma perchè rischierei che il risultato della conversione successiva mi sovrascriva quella precedente e non riesca a completare la trasmissione...se utilizzassi una singola conversione ripetuta semplice senza nient altro penso che non riuscirei a ottenere buoni risultati...giusto ??
Grazie mille Mauro , sei sempre molto disponibile..
Saluti , Luca
Grazie mille Mauro , sei sempre molto disponibile..
Saluti , Luca
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Ross
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 28
- 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.