eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaInicjalizacja ADC w STM32 i baaardzo dziwny problemInicjalizacja ADC w STM32 i baaardzo dziwny problem
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Konop <k...@g...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Inicjalizacja ADC w STM32 i baaardzo dziwny problem
    Date: Sun, 02 Oct 2011 22:31:05 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 40
    Message-ID: <j6ahma$fsq$1@inews.gazeta.pl>
    NNTP-Posting-Host: hmk227.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1317587466 16282 79.188.62.227 (2 Oct 2011 20:31:06 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sun, 2 Oct 2011 20:31:06 +0000 (UTC)
    X-User: konoppo
    User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922
    Thunderbird/3.1.15
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:618460
    [ ukryj nagłówki ]

    Witam

    Mam (moim zdaniem) bardzo dziwny problem z inicjalizacją ADC w STM32
    (konkretnie STM32F103ZET6).
    Po restarcie (włączeniu zasilania, resecie przyciskiem bądź po
    programowaniu) CZASAMI przetwornik NIE DZIAŁA! Po kolejnym resecie lub
    kilku wszystko chodzi jak należy.. W sumie nie wiem, gdzie tkwi źródło
    problemu, bo działa to tak:
    - TIMER1 uruchamia konwersję
    - ADC mierzy
    - DMA przesyła dane do pamięci i po 10 pomiarach zgłasza przerwanie
    - przerwanie wyrzuca flagę i konfiguruje DMA do dalszej pracy
    - program, jak widzi flagę, liczy co ma liczyć i jedzie dalej...

    No i czasami flaga ta nie jest ustawiana...

    Dziwi mnie fakt, że to raz się zdarza, a raz nie... Czasem raz na 10
    resetów działa, czasem raz na 10 resetów nie działa... Podobny problem
    (ale znacznie rzadziej) mam też z nadawaniem prze UART1 (odbieranie
    działa, program chodzi i wykonuje komendy, które otrzymuje przez UART1,
    ale na nie nie odpowiada!!).

    Dziwią mnie te problemy o tyle, że w inicjalizacji nie mam właściwie
    żadnych elementów "losowych" (może poza czekaniem na ustabilizowanie się
    PLLa, którą robię na samym początku), przez co inicjalizacja za każdym
    razem powinna wyglądać dokładnie tak samo. Jak dla mnie, to albo jest
    błąd i nie powinno nigdy działać, albo jest dobrze i powinno działać za
    każdym razem!!

    Podpowiedzcie mi proszę, gdzie, czym i jak szukać przyczyny problemu, bo
    już wariuję tu normalnie! A może ktoś miał podobne problemy i podpowie,
    jak to obszedł??

    Jestem gotowy wstawić "protezę" w postaci programowego sprawdzenia, czy
    wszystkie peryferia działają, a jak nie - to reset ;)... no ale to takie
    nieeleganckie raczej :(....

    --
    Pozdrawiam
    Konop

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: