eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZliczanie impulsów przez LPC1768Zliczanie impulsów przez LPC1768
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Mario <m...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Zliczanie impulsów przez LPC1768
    Date: Wed, 18 Aug 2010 17:00:57 +0200
    Organization: http://onet.pl
    Lines: 50
    Message-ID: <i4gsja$a3e$1@news.onet.pl>
    NNTP-Posting-Host: axs195.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: quoted-printable
    X-Trace: news.onet.pl 1282143658 10350 83.27.104.195 (18 Aug 2010 15:00:58 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Wed, 18 Aug 2010 15:00:58 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:593861
    [ ukryj nagłówki ]

    Witam, mam problem z wykorzystaniem wejścia CAP w LPC1768 do zliczania
    impulsów - pomiaru częstotliwości. Zapewne podobnie jest sprawa
    rozwiązana w innych LPC np serii 2xxx więc znających się na ARMach z NXP
    proszę o pomoc.
    Otóż zamierzam wykorzystać wejście P0.24 skonfigurowane jako CAP3.1 do
    popędzania Timera3.
    Konfiguruję ten Timer

    const unsigned long TCR_COUNT_RESET = 2, TCR_COUNT_ENABLE = 0x01;

    LPC_SC->PCONP |= (1 << 23);
    LPC_TIM3->CCR &= ~(0x0);
    LPC_TIM3->TCR = TCR_COUNT_RESET;
    LPC_TIM3->CTCR = 0x101;
    LPC_TIM3->TCR = TCR_COUNT_ENABLE;

    Czyli kolejno załączam power dla timer3, ustawiam wszystkie bity compare
    na zero gdy pracuje jako counter, resetuję timer, ustawiam w CTCR
    rodzaj zbocza rosnący (bity 1,0) i wybór źródła na CAPx.1 (bity 3,2) ,
    startuję timer.
    Z kolei w konfiguracji portów wstawiam:

    LPC_PINCON->PINSEL1 |= (1<<17)|(1<<16);//set pin P0.24 as CAP3.1
    LPC_GPIO0->FIODIR &=~(1<<24);// set pin P0.24 as input

    Ta druga linia to dodatkowo bo raczej nie powinna mieć znaczenia.
    No i w
    ulCount4=LPC_TIM3->TC; nic się nie dzieje. Cały czas zero.
    Gdy przeprogramuję timer na napędzany z PCLK to sobie zlicza sygnał z
    wewnętrznego zegara. Z kolei port jest dobry bo po przestawieniu pinu
    P0.24 na GPIO

    LPC_PINCON->PINSEL1 &= ~(1 << 17) | (1 << 16); // set pin P0.24 as GPIO

    mogę zmiany jego stanu zliczać w pętli głównej. Ale ja muszę to zrobić
    na timerze.
    Any suggestions? Jakiś rejestr trzeba by jeszcze ustawić?

    --
    Pozdrawiam
    MD

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: