Hallo. Ich habe hier einen Programmcode gefunden der dazu dient den internen Temperatursensor eines MSP430 abzufragen. Jetzt würde es mich interessieren wie ich diesen Code auch für einen externen Sensor anwenden kann..
1 | #include<msp430g2231.h> |
2 | void tempInit() |
3 | {
|
4 | ADC10CTL0=SREF_1 + REFON + ADC10ON + ADC10SHT_3 ; //1.5V ref,Ref on,64 clocks for sample |
5 | ADC10CTL1=INCH_10+ ADC10DIV_3; //temp sensor is at 10 and clock/4 |
6 | }
|
7 | int tempOut() |
8 | {
|
9 | int t=0; |
10 | __delay_cycles(1000); //wait 4 ref to settle |
11 | ADC10CTL0 |= ENC + ADC10SC; //enable conversion and start conversion |
12 | while(ADC10CTL1 & BUSY); //wait..i am converting..pum..pum.. |
13 | t=ADC10MEM; //store val in t |
14 | ADC10CTL0&=~ENC; //disable adc conv |
15 | return(int) ((t * 27069L - 18169625L) >> 16); //convert and pass |
16 | }
|
17 | void main(void) |
18 | { volatile int temp; //initialise |
19 | WDTCTL = WDTPW + WDTHOLD; //stop..bow..boww |
20 | temp=0; |
21 | tempInit();//initialise adc |
22 | while(1) |
23 | {
|
24 | __delay_cycles(500); //wait and set break point |
25 | temp=tempOut(); //read temp |
26 | __delay_cycles(500); //wait and set breakpoint |
27 | |
28 | }
|
29 | }
|
Vielen Dank für Hilfe.