PIC18 i DMA - reset wskażnika adresu docelowego.

Tu możesz pisać o swoich problemach z pisaniem programów w języku C dla PIC.
Awatar użytkownika
Marcin
User
User
Posty: 309
Rejestracja: środa 09 wrz 2015, 19:30
Lokalizacja: Królewskie miasto Sandomierz

PIC18 i DMA - reset wskażnika adresu docelowego.

Postautor: Marcin » piątek 21 wrz 2018, 23:32

Hej.

Mam PIC18F25K42 a w nim DMA przepisujące dane odebrane z UART do tablicy.
Każda nowa odpowiedź jest "dopisywana" do bufora, i ile wskaźnik docelowego adresu nie osiągnie DMA1DSZ.

Jak przed rozpoczęciem odbioru nowej transmisji wyzerować wskaźnik docelowego adresu, tak by zapis rozpoczynał się od elementu zerowego bufora ?
Licznik wskazujący na docelowy element jest dostępny ale jest on tylko do odczytu.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: PIC18 i DMA - reset wskażnika adresu docelowego.

Postautor: Antystatyczny » piątek 21 wrz 2018, 23:34

Spróbuj na chwilę wyłączyć DMA po odebraniu wiadomości, a następnie włączyć, by licznik zainicjalizował się na nowo.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

Re: PIC18 i DMA - reset wskażnika adresu docelowego.

Postautor: inż.wielki » niedziela 23 wrz 2018, 21:54

Dużo poprawniejszym podejściem jest programowa detekcja danych. Coś w rodzaju maszyny stanów. Wtedy możesz również, stosując bufor cyrkularny, wykrywać zakręcenie danych.


Wróć do „Programowanie PIC w C”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości