sensor de temperatura interno

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

sensor de temperatura interno

Mensagempor leandrosilva » 05 Ago 2008 15:48

pessoal estou tentando medir a temperatura com o sensor interno do MSP430f169, mas ta dando um resultado estranho quando envio pela serial, alguem poderia dizer o que está errado?
esse é o codigo:

void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer; WDTCTL = watchdog timer control; WDTPW = watchdog escrita = 0x005A; WDTHOLD = para o contador de timer
U0CTL |= SWRST; // reseta uart
P3SEL = P3SEL_4 | P3SEL_5; //habilita rx e tx

_BIS_SR(SCG0 | OSCOFF | GIE); // desliga DCOCLK e XT1 habilita interrupção
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (unsigned char i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG));
BCSCTL2 = SELS|SELM1| DIVS1 |DIVS0;

U0CTL |= CHAR;
ME1 |= UTXE0 + URXE0;
U0TCTL |= SSEL1;
U0RCTL = 0x00;
UBR00 = 0x60;
UBR10 = 0x00; // 120, 9600, 14400, 38400, 56000, 115200
U0MCTL = 0x00;
U0CTL &= ~SWRST;
IE1 = URXIE0; //UTXIE0

ADC12CTL1 = SHS_1 | SHP | ADC12DIV_7 | ADC12SSEL_3 | CONSEQ_2; // TA trig., rpt conv.
ADC12MCTL0 = SREF_1 | INCH_10; // Channel A10, Vref+
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 = SHT0_15 | REFON | ADC12ON | ENC; // Config ADC12
TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0)
TACTL = TASSEL_2 | MC_2; // SMCLK, cont-mode
ADC12CTL0 |= ADC12SC;
while (!(0x01 & ADC12IFG)); // First conversion?
TXBUF0 = ADC12MEM0;
for(;;)
{
}
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
{
while (!(IFG1 & UTXIFG0));
TXBUF0 = ADC12MEM0 & 0x00FF; // Read out 1st ADC value
}
leandrosilva
Bit
 
Mensagens: 39
Registrado em: 04 Dez 2006 21:51

Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x