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

Nieprawidłowe działanie DMA z ADC w STM32F107 - jak ustawić?

Marek_Gorecki 25 Lip 2018 15:03 657 4
REKLAMA
  • #1 17348912
    Marek_Gorecki
    Poziom 16  
    Posty: 494
    Pomógł: 2
    Ocena: 30
    WItam,

    uczę się ze strony Forbota obsługę DMA z ADC.
    UART z DMA działa mi prawidłowo, ale z ADC nie chce.

    W przykładzie w kursie Forbota użyty był procesor STM32F4, a ja mam na płytce STM32F1. Więc okna z ustawieniami w Cube się różnią i myślę, że coś źle odznaczyłem.
    Otóż w Cube ustawiłem tak:

    Nieprawidłowe działanie DMA z ADC w STM32F107 - jak ustawić?

    W ustawieniach DMA dla ADC ustawiłem tryb Normal.

    Program jest trywialny :
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Niestety w zmiennej Pomiar_ADC ciągle jest 0.
    Jak zmienie DMA na Circular to program sie zatrzymuje.
    Zmienna Pomiar_ADC jest typu volatile uint16_t Pomiar_ADC[10];

    Macie może jakiś pomysł, bo już siedzę kilka dni i nie mogę sobie z tym poradzić.
  • REKLAMA
  • #2 17348946
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 17348957
    Marek_Gorecki
    Poziom 16  
    Posty: 494
    Pomógł: 2
    Ocena: 30
    Znalazłem bład.
    Ma być HAL_ADC_Start_DMA(&hadc1, (uint32_t*) &Pomiar_ADC, 10);

    Dodano po 1 [godziny] 10 [minuty]:

    z3planety napisał:
    Marek_Gorecki napisał:

    Macie może jakiś pomysł,
    Tak: wziąć do ręki RM, i napisać na rejestrach. Na pewno nie zajmie Ci to kilku dni.

    "Szybki" w pisaniu, "przenośny" HAL okazuje się z reguły nieogarnialny w swoich tajemnych strukturach (fora są pełne pytań ludzi siedzących nad prostymi sprawami tygodniami) i równie "przenośny" (tzn przeniesienie trwa dłużej niż napisanie funkcji zależnych od sprzętu od nowa dla nowej platformy)


    Najpierw zacząłem naukę od AVRów.
    Wiec dostawalem dobre rady, abym przesiadł się na Army.
    Wiec kupiłem ksiązki i zacząłem się uczyć ale na bibliotekach SPL.

    Jak zacząłem coś kojarzyć, to znów dostałem dobre rady - zapomnij o SPL, przejdź na HAL.

    Więc zacząłem się bawić w HAL.
    A teraz znów otrzymuję dobrą radę - przejdź na rejestry.

    Pytanie - co będzie dalej.
  • REKLAMA
  • #4 17351072
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Pretensje miej do tych, co Cię namawiali na biblioteki... ;) Na AVR pisałeś raczej bez bibliotek, nieprawdaż?
  • #5 17351086
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA