× MSP430, Microcontrollori 16 bit Ultra Low Power

come stampare a video un risultato

10 Anni 1 Mese fa #1 da alfa75ts
come stampare a video un risultato è stato creato da alfa75ts
Salve,

parto con il presupposto di utilizzare il kit ez430-rf2500.

Per il momento usando un solo un PCB, quindi senza utilizzare il cc2500.

Per esempio se volessi stampare a video la temperatura letta al momento dal sensore di temperatura integrato su un solo pcb come dovrei fare?

Non ho trovato nessun esempio a riguardo.

Grazie mille

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

  • alfa75ts
  • Avatar di alfa75ts
  • Senior Member
  • Senior Member
Di più
10 Anni 1 Mese fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic come stampare a video un risultato
Ciao,

usando il kit ez430-rf2500 vedo due possibilita´ veloci:

1) usi la modalita´ Debug con CCS. fai usi della funzione Watch per visualizzare la variabile che contiene temperatura.

2) Il kit viene fornito con una penna USB con la quale programmare ed effettuare il Debug. La stessa penna crea anche una porta seriale virtuale COM. Puoi usare la UART dell´MSP430 per inviare i dati che attraverso la porta COM saranno inviati al PC. Puoi usare il programma RS232 Terminal per visualizzare i dati.

Ti consiglio prima di passare per il punto 1) poi fare dei test con il modulo UART ed infine implementare il punto 2).

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
10 Anni 1 Mese fa #3 da alfa75ts
Risposta da alfa75ts al topic come stampare a video un risultato
Purtroppo sono a zero con la programmazione e quindi, per favore, mi spiegheresti meglio l uso della funzione watch?

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

  • alfa75ts
  • Avatar di alfa75ts
  • Senior Member
  • Senior Member
Di più
10 Anni 1 Mese fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic come stampare a video un risultato
Ora non ho CCS sotto le mani, ma quando entri in fase di Debug esegui il programma passo passo.

Seleziona la tua variabile temperatura e con il tasto destro visualizza il menu. Dovresti avere una voce del tipo add to watch.
Il contenuto della variabile sara´ aggironato ad ogni passo e visualizzata nella finestra di Debug associta al Watch.

Per cui Watch non e´ una funzione C ma uno strumento di Debug dell´ambiente di sviluppo.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
10 Anni 1 Mese fa #5 da alfa75ts
Risposta da alfa75ts al topic come stampare a video un risultato
ho trovato quella funzione, ma andando passo passo mi imbatto in un "delaycycle(30000)" il quale non mi permette piu di essere superato.


il codice è questo:

//******************************************************************************
// MSP430F22x4 Demo - ADC10, Sample A10 Temp, Set P1.0 if Temp ++ ~2C
//
// Description: Set ADC10 and the integrated temperature sensor to detect
// temperature gradients. The temperature sensor output voltage is sampled
// ~ every 120ms and compared with the defined delta values using an ISR.
// (ADC10OSC/4)/64 determines sample time which needs to be greater than
// 30us for temperature sensor.
// ADC10 is operated in repeat-single channel mode with the sample and
// convert trigger sourced from Timer_A CCR1. The ADC10IFG at the end
// of each converstion will trigger an ISR.
// ACLK = n/a, MCLK = SMCLK = default DCO ~1.2MHz, ADC10CLK = ADC10OSC
//
// MSP430F22x4
//
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// |A10 (Temp) P1.0|-->LED
//******************************************************************************
/*
* ======== Standard MSP430 includes ========
*/
#include <msp430.h>

/*
* ======== Grace related declaration ========
*/
extern void CSL_init(void);

/*
* ======== main ========
*/

static unsigned int FirstADCVal; // holds 1st ADC result

#define ADCDeltaOn 3 // ~ 2 Deg C delta for LED on

int main(void)
{
CSL_init();

TACCTL0 &= ~CCIE; // Disable timer Interrupt
ADC10CTL0 |= ENC; // Enable ADC conversions
TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0)
TACTL = TASSEL_2 + MC_2; // SMCLK, cont-mode
while (!(ADC10IFG & ADC10CTL0)); // First conversion?
FirstADCVal = ADC10MEM; // Read out 1st ADC value
P1OUT = 0x00; // Clear P1
P1DIR = 0x01; // P1.0 as output
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
void TimerA_ISR (void)
{
TACTL = 0;
}
void ADC10_ISR (void)
{
if (ADC10MEM >= FirstADCVal + ADCDeltaOn)
P1OUT |= 0x01; // LED on
else
P1OUT &= ~0x01; // LED off
}



quale è la variabile temperatura di cui dovrei leggere il valore? e nel caso mi viene gia fornita la temperatura o va convertita in qualche modo?

grazie ancora.

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

  • alfa75ts
  • Avatar di alfa75ts
  • Senior Member
  • Senior 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