vekt (12.04.2007 11:31, просмотров: 2847)
SAR16_A Помогите познать истину! Как заставить работать АЦП в дифференциальном режиме? Пишу такой код:
P1SEL = 0x08; // Порт используется периферией
P1DIR |= 0x01; // направление не имеет значения
SD16CTL = SD16VMIDON + SD16REFON + SD16SSEL_1; // 1.2V ref идет наружу, SMCLK
SD16INCTL0 = SD16INCH_4; // A4+/-
SD16CCTL0 = SD16IE; //bipolar, offset
SD16AE = SD16AE1 + SD16AE2; // P1.1 (А4+) и P1.2 (A4-) отрываю от земли
SD16CCTL0 |= SD16SC; // начать преобразование
Ставлю эксперимент. Подключаю ножки A4+ и А4- через резисторы к потенциометрам.
Потенциометры от батареек. Земля контроллера и батареек общая.
________
| | A B |
+ R1 П___.---[ R3 ]----.----| A4+
- U |
|_______|__.___________________| GND
| |
___________| |
| | C D |
- R2 П___.---[ R4 ]----.----| A4-
+ U |
|_______| |
X----| Vref
________________________
A | 0 |0.6 | 0 | 0.6
___|____|____|____|_____
C | 0 | 0 |0.6 | 0.6
___|____|____|____|_____
код|8000|FFFF|8000|FFFF
___|____|____|____|_____
При изменениях напряжения точка В копирует точку А,
точка D в нуле, что бы ни происходило с точкой C.
Как врубить отрицательную ногу?