kl16 dma with enable circular

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

kl16 dma with enable circular

ソリューションへジャンプ
1,227件の閲覧回数
yourchoochoo
Contributor I

Hi,

I use KL16  DMA  for uart transfer .

When i use DMA, i enable  DMOD (Destination Address Modulo) ,and set circular buffer size 16 bytes(DMOD writed 0000) ,.

After  uart  trans  16  bytes,  receive_buffer will  lost the last data(receive_buffer[15]), and  BCR value  is right.

The same  thing happens when DMOD be set to 0010.Will lost receive_buffer[31].1.png2.png

ラベル(1)
0 件の賞賛
返信
1 解決策
1,125件の閲覧回数
mjbcswitzerland
Specialist V

Hi Yi

Ensure that the memory that you are receiving the data to is also modulo aligned. That is, if you use modulo 16 make sure that it starts on a boundary that is divisible by 16; eg. 0x20000000, 0x20000010, 0x20000020, etc. when in SRAM.

Regards

Mark

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
1,126件の閲覧回数
mjbcswitzerland
Specialist V

Hi Yi

Ensure that the memory that you are receiving the data to is also modulo aligned. That is, if you use modulo 16 make sure that it starts on a boundary that is divisible by 16; eg. 0x20000000, 0x20000010, 0x20000020, etc. when in SRAM.

Regards

Mark

0 件の賞賛
返信