logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega 128][ASM][avrStudio]] - zmiana kanałów ADC nie działa?

domija 22 Mar 2013 07:59 1482 3
REKLAMA
  • #1 12094667
    domija
    Poziom 11  
    Witam was wszystkich.
    W sumie chciałbym żebyście sprawdzili kod, który napisałem bo juz nie mogę znaleźć wyjścia. Kod to przepisywanie z 4 kanałów 8 bitowego ADC na kanały PWM. Problem w tym że nic na wyjściu PWM sie nie pojawia (nic tzn. stan wysoki). Żeby było prościej to powiem, że oddzielnie (program, który przepisuje tylko z jednego wyjścia ADC na konkretne wyjście PWM) wszystkie kanały działają. A ciekawą rzeczą jest dla mnie także to , że w symulatorze avrStudio po uruchomieniu timera3 gdy doliczy do 1 wystawia flagę TOV3 i wchodzi w przerwanie. Ponadto podczas normalnej pracy bez większego sensu po przejściu przez linijkę "sbi ADCSRA,ADSC" w przerwaniu TIM3_OVF znowu wystawia flagę TOV3, ale tylko co drugi raz gdy wchodzi do przerwania.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 12095163
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 12095373
    kamyczek
    Poziom 38  
    Zmiana kanału działa po zakończeniu konwersji ADC warto też zignorować wynik pierwszej konwersji ADC po zmianie kanału bo można otrzymać wartość przypadkową .
  • #4 12095732
    domija
    Poziom 11  
    Bit kompatybilności wyłączony, tym bardziej że osobno wszystkie kanały działają. Przepisywanie do admux nowego kanału dzieje się w obsłudze przerwania adc conversion complete także już po zakończeniu działania, więc powinno działać.
    Pominięcie pierwszego wyniku zrobię, ale coś mi sie nie wydaje żeby to ruszyło. Jak nie znajdę rozwiązania to spróbuję wymienić jeszcze procka. Dam znać później czy coś wyszło.
REKLAMA