@Gurus, я связал датчик влажности с MSP430F2274 на контакте P2_2 (комплект CC2530 ZNP) и используя следующий код для считывания выходного напряжения от датчика. Но, похоже, это не работает. Я получаю различное значение каждый раз и свой путь от фактического выхода от датчика. У меня есть отдельный модуль, который заботится о часах и таймерах. У комплекта есть встроенные датчики освещения и температуры, которые, похоже, работают отлично. Не могли бы вы посмотреть?Внешний датчик, сопряженный с MSP430
getHumidity()
{
int result, volt;
ADC10CTL0 &= ~ENC;
ADC10CTL0 &= ~ADC10ON;
// P2.2 -> Humidity Sensor - A2
P2DIR &= ~0x04;
P2SEL &= ~0x04;
ADC10AE0 |= 0x04; // ADC Low Bit (A2)
ADC10AE1 = 0x00;
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE + REF2_5V;
ADC10CTL1 = INCH_2 + ADC10DIV_3; // Input Selct and Clock Div
ADC10CTL0 |= ENC + ADC10SC; // Start to sample
// __bis_SR_register(CPUOFF + GIE); // LPM0 w/ int
while(ADC10CTL1 & ADC10BUSY);
result = ADC10MEM; // Store Result
if (result < 0) result = 0; // Correct for potential Weirdness
volt=(int)((result*2500.00)/1023.00);
ADC10AE0 = 0; // Reset Selection Bits
ADC10AE1 = 0;
ADC10CTL0 &= ~ENC;
ADC10CTL0 &= ~(REFON + ADC10ON);
return volt; // Return Result
}
Большое спасибо,
Megha
@Gurus, я до сих пор не могу понять, почему он не работает. Любая помощь будет высоко оценена. Спасибо – megha