нужно ли инициализировать стек в Си??? и если да то как??? асмовской вставкой?
CODE:
ISR(ADC_vector)
{
SendByte(ADCL);
sei();
}
void InitADC() {
ADMUX = _BV(REFS1)|_BV(REFS0) /*2.56 INTERNAL REFERENCE VOLTAGE*/
|_BV(ADLAR) /*LEFT ADJUSTMENT*/
|_BV(MUX2)|_BV(MUX0); /*ADC5*/
//cbi(DDRC,ADC_DDR);
DDRC &= ~_BV(ADC_DDR); //0 - input ddc5
PORTC |= _BV(ADC_PORTC); //pull-up portc5
ADCSRA |= _BV(ADIE); //interrupt
}
void
main(void)
{
InitADC();
InitPort();
EnableADC();
sei();
while (1)
{
StartADC();
.
.
.
}
}
в этом коде, вместо того, чтобы прыгнуть на вектор прерывания, программа начинается сначала т.е. всё инициализируется... |