Witam, Czy jest możliwość ustawienia pracy USART-->DMA-->SRAM ale w następujący sposób: 1. źródło USART, 2. cel pamięć, tablica np 64 elementowa typu uint_8, 3. wyzwalanie transmisji DMA poprzez przerwanie DMA_CH_TRIGSRC_USARTC0_RXC_gc, tylko, że USART raz odbierze 16 bajtów innym razem 64 bajty itp. Do czego zmierzam: tak skonfigurować DMA aby po zakończeniu transmisji przeładował adres tablicy aby wpisywał w kolejnej transmisji od pierwszego elementu (zerowego tablicy). TK SKONFIGUROWAĆ DMA aby w rej TRFCN nie ustawiać wielkości bloku. Mimo konfiguracji DMA.CH0.ADDRCTRL=DMA_CH_DESTRELOAD_TRANSACTION_gc | DMA_CH_DESTDIR_INC_gc; cała tabica jest w kolejnych cyklach transmisji zapełniana kolejnymi danymi dopiero następuje przeładowanie adresu celu.
1 komentarze :
Witam,
Czy jest możliwość ustawienia pracy USART-->DMA-->SRAM ale w następujący sposób:
1. źródło USART,
2. cel pamięć, tablica np 64 elementowa typu uint_8,
3. wyzwalanie transmisji DMA poprzez przerwanie DMA_CH_TRIGSRC_USARTC0_RXC_gc,
tylko, że USART raz odbierze 16 bajtów innym razem 64 bajty itp.
Do czego zmierzam: tak skonfigurować DMA aby po zakończeniu transmisji przeładował adres tablicy aby wpisywał w kolejnej transmisji od pierwszego elementu (zerowego tablicy). TK SKONFIGUROWAĆ DMA aby w rej TRFCN nie ustawiać wielkości bloku. Mimo konfiguracji DMA.CH0.ADDRCTRL=DMA_CH_DESTRELOAD_TRANSACTION_gc | DMA_CH_DESTDIR_INC_gc; cała tabica jest w kolejnych cyklach transmisji zapełniana kolejnymi danymi dopiero następuje przeładowanie adresu celu.
Prześlij komentarz
Skomentuj!