OpenEdv-开源电子网

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

dma串口怎么调用处理函数?

[复制链接]

3

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2016-11-1
在线时间
6 小时
发表于 2016-11-6 18:49:38 | 显示全部楼层 |阅读模式
10金钱
  很多都这么写的        USART_ClearITPendingBit(USART1, USART_IT_IDLE);  
       DMA_Cmd(DMA2_Stream5, DISABLE);//关闭DMA,防止处理其间有数据
        Data_Len=65535-DMA_GetCurrDataCounter(DMA2_Stream5);  
        data_recv_flag_set(); //标志位  
        printf("Data_Len=%d\n\r",Data_Len);  
        DMA_Cmd(DMA2_Stream5, ENABLE);//开启DMA  

粗体两句中间对数据什么都没做。想调用函数处理下传输区。查资料说中断不支持传参数,怎么弄?用物理地址?


最佳答案

查看完整内容[请看2#楼]

没有函数,你要处理处理数据,去你的DMA接收buf读取即可。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-11-6 18:49:39 | 显示全部楼层
没有函数,你要处理处理数据,去你的DMA接收buf读取即可。
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2016-11-1
在线时间
6 小时
 楼主| 发表于 2016-11-6 19:49:39 | 显示全部楼层
本帖最后由 长虹掩日 于 2016-11-6 19:51 编辑
正点原子 发表于 2016-11-6 18:49
没有函数,你要处理处理数据,去你的DMA接收buf读取即可。

大神,你看他后一句有个开启dma接收,我怕后来的通讯覆盖,想在开启前处理。
或者把再开启dma放到主逻辑里,不在中断处理?

回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-6 22:38:14 | 显示全部楼层
长虹掩日 发表于 2016-11-6 19:49
大神,你看他后一句有个开启dma接收,我怕后来的通讯覆盖,想在开启前处理。
或者把再开启dma放到主逻辑 ...

你去把DMA看了在说,有过半中断和全接受完成中断。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 00:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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