OpenEdv-开源电子网

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

DMA串口接收(传输过半与传输完成中断问题)

[复制链接]

15

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2012-7-5
在线时间
6 小时
发表于 2014-5-7 17:24:53 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u8 *cmar,u16 cndtr) { RCC->AHBENR|=1<<0; // delay_ms(1); // DMA_CHx->CPAR=cpar; // DMA_CHx->CMAR=(u32)&cmar[0];// DMA1_MEM_LEN=cndtr; // DMA_CHx->CNDTR=cndtr; // DMA_CHx->CCR=0X00000000;// DMA_CHx->CCR|=(1<<1); // DMA_CHx->CCR|=(1<<2); // DMA_CHx->CCR&=~(1<<4); // DMA_CHx->CCR&=~(1<<5); // DMA_CHx->CCR&=~(1<<6); // DMA_CHx->CCR|=(1<<7); // DMA_CHx->CCR&=~(1<<8); // DMA_CHx->CCR&=~(1<<10); // DMA_CHx->CCR|=(1<<12); // DMA_CHx->CCR&=~(1<<14); // DMA_CHx->CCR|=(1<<0); // MY_NVIC_Init(0,2,DMA1_Channel5_IRQChannel,2);// }[/mw_shl_code]
不知道为什么粘贴代码,旁边的注释就全是乱码。。。。
开启了DMA串口接收,DMA是工作了,但是一旦进有DMA传输过半中断就死机了,不知道什么原因

相信自己,我能行
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2012-7-5
在线时间
6 小时
 楼主| 发表于 2014-5-7 17:27:33 | 显示全部楼层
通过仿真得到的结果如图

相信自己,我能行
回复

使用道具 举报

15

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2012-7-5
在线时间
6 小时
 楼主| 发表于 2014-5-7 17:45:53 | 显示全部楼层
说一下我的思路吧!参考网上牛人的思路,(网上用的是库函数,我想用寄存器实现一下)利用串口空闲总线中断结合DMA实现变长数据的串口接收,这种方法的确非常巧妙,打破了DMA不能改变传输长度的问题,现在调试还有一点小问题,希望在这里提出来,与大家一起解决和分享
相信自己,我能行
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-7 22:44:29 | 显示全部楼层
DMA中断服务函数可有?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2019-3-4
在线时间
9 小时
发表于 2020-12-2 16:13:44 | 显示全部楼层
正点原子 发表于 2014-5-7 22:44
DMA中断服务函数可有?

应该就是未定义中断服务函数,或者开启中断,却未清除中断标志位
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 07:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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