eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPWM na SAM7S32 nie uruchamia się. › PWM na SAM7S32 nie uruchamia się.
  • Path: news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: PWM na SAM7S32 nie uruchamia się.
    Date: Tue, 01 Dec 2009 22:31:05 +0100
    Organization: http://news.icm.edu.pl/
    Lines: 47
    Message-ID: <hf41uu$i1v$1@achot.icm.edu.pl>
    NNTP-Posting-Host: chello089076023107.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: achot.icm.edu.pl 1259703070 18495 89.76.23.107 (1 Dec 2009 21:31:10 GMT)
    X-Complaints-To: a...@i...edu.pl
    NNTP-Posting-Date: Tue, 1 Dec 2009 21:31:10 +0000 (UTC)
    X-Accept-Language: en-us, en
    User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:576877
    [ ukryj nagłówki ]

    Witam.

    Mam SAM7S32. Chcę uzyskać PWM. Procesor działa z pełną prędkoscią i
    poprawnie (przerwanie PIT dziala dokładnie z takim okresem z jakim
    powinno, więc mam pełna predkość zegara taktującego rdzeń).

    Wziąłem do reki lib_AT91..., przejrzalem wszystko w internecie co mi
    wpadło w łapska dotyczące PWM i wyprodukowalem kod, który _nie działa_.

    AT91F_PWMC_StopChannel( AT91C_BASE_PWMC, AT91C_PWMC_CHID0 );
    AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, AT91C_PA11_PWM0, 0 );
    //AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, 0, AT91C_PA11_PWM0 );

    AT91F_PWMC_CfgPMC();
    //AT91F_PWMC_CH0_CfgPIO();

    AT91F_PWMC_CfgChannel(
    AT91C_BASE_PWMC
    , AT91C_PWMC_CHID0
    , 0 //0x0a
    , 100
    , 75
    );

    //AT91C_BASE_PWMC_CH0->PWMC_CMR = AT91C_PWMC_CPRE_MCKA|AT91C_PWMC_CPOL;

    AT91F_PWMC_StartChannel(
    AT91C_BASE_PWMC
    , AT91C_PWMC_CHID0
    );

    Komentarze pokazują miejsca eksperymentowania. Mimo zaklęć pin PA11
    pozostaje martwy, choć fizycznie jest odpinany z GPIO, bo nie mogę nim
    recznie sterować (a sąsiednimi mogę). Pin PA11 jest sprawny elektrycznie
    - nie inicjujac PWM mogę nim recznie machać z kodu.

    Zakładam więc, że potrafie podpiąc PWM do pinu, ale z jakiejś przyczyny
    PWM nie pracuje. Co ciekawe w zależności od tego jakie mam szczęscie
    podczas wlaczania zailania pin pozostaje albo w stanie 1 albo w 0 (i juz
    sie nie zmienia). Errate czytalem, nic mi w oko nie wpadło.

    Czy ktoś może zasugerować czego mi brakuje? Może gdzieś nie podpinam
    głównego zegara do modułu PWM? Ale chyba to powinno się zrobić samo w
    PWMC_CfgPMC().

    Brak mi już pomysłów co sprawdzić, spędziłem nad tym jakieś 1.5
    popoludnia i bez efektów. Poratuje ktoś?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: