Witam
problem jest następujący:
Dokonuję przetwarzania sygnałów na dwóch kanałach, osobno każdy działa właściwie, jeżeli uruchomię dwa kanały, to wynik przetwarzania pierwszego jest zakłócany przez kanał drugi tzn do wartości pierwszego jest dodawana wartość drugiego,
Proszę o jakieś sugestie
Poprawiłem tytuł - ortografia.
[zumek]
problem jest następujący:
Dokonuję przetwarzania sygnałów na dwóch kanałach, osobno każdy działa właściwie, jeżeli uruchomię dwa kanały, to wynik przetwarzania pierwszego jest zakłócany przez kanał drugi tzn do wartości pierwszego jest dodawana wartość drugiego,
SIGNAL (SIG_OUTPUT_COMPARE1A)
{
wynik=0;
pomiar=0;
i=20;
ADCSRA |=_BV(ADSC); // Rozpoczęcie przetwarzania
while(i)
{
ADMUX |=_BV(0); // wybranie kanału - 1
while(bit_is_set(ADCSRA,ADSC)) // Oczekiwanie na zakończenie przetwarzania
{};
pomiar = (ADCL|(ADCH<<8)); // Zapisanie wyniku konwersji do zmiennej "pomiar"
wynik=wynik+pomiar; // Sumowanie wyników w serii
i--;
}
wynik=(wynik/20);
{
ADMUX |=_BV(0);
ADMUX |=_BV(1);
while(bit_is_set(ADCSRA,ADSC)) // Oczekiwanie na zakończenie przetwarzania
{};
pomiar1 = (ADCL|(ADCH<<8)); // Zapisanie konwersji do zmiennej "pomiar1"
}
PORT_F |= _BV(4); // Ustawienie znacznika zakończenia pomiaru
if (bit_is_set(PIN_F, 4)) // Jeśli pomiar jest zakończony
{
PORT_F &=~_BV(4); // Zerowanie znacznika zakończenia pomiaru
}
}
Proszę o jakieś sugestie
Poprawiłem tytuł - ortografia.
[zumek]
