Cześć
Problem polega na tym że ADC1 współgra z DMA2 w trybie Injection, czy to jest związane z tym że nie nie ma sensu czegoś takiego robić, ze względu na to że w tym trybie wszystkie dane trafiają do różnych rejestrów JDRx, i nie ma "zagrożenia" overrunem?
Konfiguracja wygląda następująco ADC1 w trybie Injection, wyzwalany zewnętrznie przez sygnał TRGO Timera5. Ustawione zostały dwie konwersje. Co również dla mnie dziwne jeżeli ustawi się np. jedną konwersje to trzeba wpisać adres ADC_INx do JSQR4, ale skonwertowana wartość trafi do JDR1.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jest o tym wzmianka w RM0383 na stronie 233 ADC_JSQR. (Co prawda nie jest powiedziane nic o tym gdzie przetworzone dane trafią).
DMA2 ustawiony jest na adres JDR1, pamięć na mój bufor Rx. Transakcji 2, kierunek PERIPH->MEMO, wielkości po obu stronach takie same.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Timer5 ustawiony w trybie up-down,
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
No i pętla główna:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W "Watch1" Rejstry ADC1->JDR1 praz JDR2 działają w pełnym zakresie przy ruchu Joystica. Niestety Rx[0] , Rx[1] pozostaje pusty.
Proszę o jakieś wskazówki.