OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2428|回复: 3

DMA 每次只能接收256字节的问题

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-11-7
在线时间
40 小时
发表于 2017-2-9 10:12:33 | 显示全部楼层 |阅读模式
1金钱
PC机串口助手向芯片发数据,DMA每次中断只能接收256字节,发送字节如为260字节,就会两次进入中断,第一次接受256字节,第二次接受剩下的4字节改变DMA_BufferSize的值也没有用[mw_shl_code=applescript,true]/* DMA1 Channel5 (triggered by USART1 Rx event) Config */
        DMA_DeInit(DMA2_Stream5);
        DMA_InitStructure.DMA_Channel = DMA_Channel_4;
        DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)(&USART1->DR);
        DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)USART1_RECEIVE_DATA;
        DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
        DMA_InitStructure.DMA_BufferSize = UART_RX_LEN;  
        DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
        DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;  
        DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
        DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
        DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
        DMA_InitStructure.DMA_Priority = DMA_Priority_High;
       
        DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;//2»¿afifo
        DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
        DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
        DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
       
        DMA_Init(DMA2_Stream5, &DMA_InitStructure);  
        DMA_ITConfig(DMA2_Stream5, DMA_IT_TC, ENABLE);
        DMA_ITConfig(DMA2_Stream5, DMA_IT_TE, ENABLE);

        /* Enable USART1 DMA RX request */
        USART_DMACmd(USART1, USART_DMAReq_Rx, ENABLE);
        DMA_Cmd(DMA2_Stream5, ENABLE); [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-11-7
在线时间
40 小时
 楼主| 发表于 2017-2-9 10:13:57 | 显示全部楼层
有大神遇到过类似的问题嘛?不吝赐教
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11544
金钱
11544
注册时间
2014-4-1
在线时间
1315 小时
发表于 2017-2-9 10:34:50 | 显示全部楼层

有这事?
一次最多可以收65536,不会有问题。

肯定是自己设置。

回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7546
金钱
7546
注册时间
2016-11-30
在线时间
642 小时
发表于 2017-2-9 10:48:50 | 显示全部楼层
一般遇到超过255就有问题的,很可能就是长度类型仍然是U8类型,而不是U16
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 00:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表