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

atmega8 - [BASCOM]włączenie i wyłączanie Timera

fantasta 25 Paź 2012 11:58 2277 10
REKLAMA
  • #1 11448732
    fantasta
    Poziom 29  
    Posty: 1696
    Pomógł: 48
    Ocena: 100
    Witam.

    Napisałem prosty programik. Działa on tak że po włączeniu układ generuje impulsy o częstotliwości regulowanej przez ADC2.
    Teraz nie mam pojęcia jak zrobić aby przycisk podpięty na PD.0 włączał i wyłączał mi ten generator na wyjściu atmegi.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 11451539
    fantasta
    Poziom 29  
    Posty: 1696
    Pomógł: 48
    Ocena: 100
    Niestety kolego MArSTER_1 Nie działa ten kod.
    Generator chodzi. Nawet ustawiłem włączanie i wyłączanie innymi różnymi przyciskami i nic nie pomogło.
  • #3 11451674
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Sposobów znalazłoby się kilka, ale ja proponuję:

    Włączenie "generatora"
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Wyłączenie "generatora", przez "odłączenie" wyjścia OC1A, od portu(pinu).
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #4 11451693
    SylwekK
    Poziom 32  
    Posty: 2764
    Pomógł: 82
    Ocena: 2762
    No nieeee, przecież moderoator zumek wywalił mój post do kosza po czym udziela identycznej rady. I żeby nie było kompilator w najnowszej wersji bez problemu przyjmuje fragmentaryczne konfiguracje.

    To moja porada ze skasowanego posta w tym temacie:

    Kod: text
    Zaloguj się, aby zobaczyć kod



    EDIT:
    https://www.elektroda.pl/rtvforum/topic2406999.html
  • REKLAMA
  • #5 11451741
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    SylwekK napisał:
    No nieeee, przecież moderoator zumek wywalił mój post do kosza po czym udziela identycznej rady. I żeby nie było kompilator w najnowszej wersji bez problemu przyjmuje fragmentaryczne konfiguracje.

    To moja porada ze skasowanego posta w tym temacie:

    Kod: text
    Zaloguj się, aby zobaczyć kod



    EDIT:
    https://www.elektroda.pl/rtvforum/topic2406999.html]

    No jeśli uważasz, że Twoja instrukcja "włączenia" jest identyczna z moją, to wybacz, ale udaj się do okulisty :D
    Przecież Twój sposób konfiguracji timera, nie włączy w ogóle timera, ponieważ nie ustawiasz preskalera i nie włączasz trybu CTC.
  • REKLAMA
  • #6 11451763
    fantasta
    Poziom 29  
    Posty: 1696
    Pomógł: 48
    Ocena: 100
    Oki, ale mam to umieścić w programie w pętli If then zależnej od przycisku ?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #7 11451774
    Konto nie istnieje
    Poziom 1  
  • #8 11451789
    fantasta
    Poziom 29  
    Posty: 1696
    Pomógł: 48
    Ocena: 100
    Zrobiłem tak

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Co sek gen jest włączany i wyłączany ale nie reaguje na zmianę w ADC i przebieg ma częstotliwość niezmienną ok 8Hz


    A jak wstawię to co wyżej od kolegi zumek nic się nie dzieje. Generator działa cały czas.
  • #9 11451866
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    fantasta napisał:
    ...
    A jak wstawię to co wyżej od kolegi zumek nic się nie dzieje. Generator działa cały czas.

    Szkoda tylko, że nie pokazałeś jak i gdzie go wstawiasz :(

    Widzę, że bez gotowca ani rusz :D

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #10 11451880
    Konto nie istnieje
    Poziom 1  
  • #11 11451962
    fantasta
    Poziom 29  
    Posty: 1696
    Pomógł: 48
    Ocena: 100
    Kod kolegi zumek działa bez zarzutu
    Zrobiłem jeszcze opcje włączanie i wyłączania na dwóch przyciskach.

    Kod: text
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

✨ Użytkownik stworzył program na ATmega8, który generuje impulsy o częstotliwości regulowanej przez ADC2. Problemem było włączenie i wyłączenie generatora za pomocą przycisku podłączonego do PD.0. Użytkownicy zaproponowali różne metody, w tym użycie instrukcji `Config Timer1` z parametrami `Toggle` i `Disconnect` do włączania i wyłączania timera. Wskazówki obejmowały również użycie zmiennych do sprawdzania stanu przycisku oraz implementację debouncingu. Ostatecznie, użytkownik zaimplementował kod, który działa poprawnie, umożliwiając włączanie i wyłączanie generatora za pomocą dwóch przycisków.
Wygenerowane przez model językowy.
REKLAMA