[an error occurred while processing this directive]
|
Имеецца код считывния последовательного АЦП в процдуре прерывания - нужно шобы было все быстро:
uint Sample;
//------------------------------------------
Sample = 0;
CLK_ADC = 1; // read_bit 11
Sample <<= 1; Sample |= Dout_ADC;
CLK_ADC = 0;
... // и так далее...
CLK_ADC = 1; // read_bit 0
Sample <<= 1; Sample |= Dout_ADC;
CLK_ADC = 0;
//------------------------------------------
И это все работает!
Но что бы уменьшить код и ускорить процесс, решил сделать так:
bdata uint Sample;
sbit Sample_bit_11 = Sample^11;
...
sbit Sample_bit_0 = Sample^0;
//------------------------------------------
Sample = 0;
CLK_ADC = 1; // read_bit 11
Sample_bit_11 = Dout_ADC;
CLK_ADC = 0;
... // и так далее...
CLK_ADC = 1; // read_bit 0
Sample_bit_0 = Dout_ADC;
CLK_ADC = 0;
//------------------------------------------
И вот это уже выдает какую-то фигню :(
В чем может быть проблема?
--
Спасибо,
Влад
E-mail: info@telesys.ru