kl16 dma with enable circular

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

kl16 dma with enable circular

跳至解决方案
1,193 次查看
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,091 次查看
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,092 次查看
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 项奖励
回复