<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=24699&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2024-08-24T20:29:16+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=24699&amp;mode</id>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2024-08-24T20:29:16+01:00</updated>
<published>2024-08-24T20:29:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24699&amp;p=238449#p238449</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24699&amp;p=238449#p238449"/>
<title type="html"><![CDATA[EDMA na XMEGA32E5 kopiowanie z TCC4.CCA do tablicy w SRAM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24699&amp;p=238449#p238449"><![CDATA[
Witam,<br />Czy udało się komuś odpalić DMA (EDMA) na Xmega32E5? <br />Potrzebuję kopiować rejestr timera TCC4.CCA do tablicy samples[] w SRAM. <br />O ile w Xmega32A4U nie mam z tym problemu, to w E5 jest to trochę bardziej zamotane.<br />Wklejam mój kod póki co wygląda tak:<br /><br />[syntax=c]EDMA.CTRL = EDMA_ENABLE_bm// Odblokuj kontroler DMA<br />| EDMA_PRIMODE_RR0123_gc// Round robin on all channels<br />;<br />// zrodlo TCC4.CCA<br />EDMA.CH0.ADDRCTRL = EDMA_CH_RELOAD_BURST_gc // reload adresu zrodla co burst<br />| EDMA_CH_DIR_INC_gc // Zwiekszamy adres zrodla,<br />;<br />// przeznaczenie tablica samples&#91;&#93; w RAM<br />EDMA.CH0.DESTADDRCTRL = EDMA_CH_RELOAD_BLOCK_gc<br />| EDMA_CH_DESTDIR_INC_gc // zwiekszamy adres przeznaczenia,<br />;<br /><br />EDMA.CH0.TRFCNT = sizeof(samples);                 // Blok ma dlugosc tablicy src<br />EDMA.CH0.ADDR = (uint16_t)(&amp;TCC4.CCA);                // adres zrodla - rejestr CCA (lub CCABUF)<br />EDMA.CH0.DESTADDR = (uint16_t)&amp;samples;// adres przeznaczenia<br /><br />EDMA.CH0.TRIGSRC = EDMA_CH_TRIGSRC_EVSYS_CH0_gc; // Wyzwalanie DMA - z Kanalu CH0 (systemu zdarzen)<br /><br />EDMA.CH0.CTRLA = EDMA_CH_ENABLE_bm // wlaczenie kanalu 0 DMA<br />| EDMA_CH_REPEAT_bm//<br />| EDMA_CH_BURSTLEN_bm// burst 2 bajty<br />| EDMA_CH_SINGLE_bm  // <br />;[/syntax]<br /><br />Może ktoś to rozpracował i coś podpowie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 24 sie 2024, o 20:29</p><hr />
]]></content>
</entry>
</feed>