OpenEdv-开源电子网

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

求助F407DMA传输到TFT显示屏,传输完成中断标志位无法清除的问题。

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-3-8
在线时间
1 小时
发表于 2015-3-23 00:06:02 | 显示全部楼层 |阅读模式
5金钱
F407设置了中断,能进入,但是清除中断的时候,LISR中的TCIF1标志位为1,但是我执行DMA_ClearITPendingBit(DMA2_Stream1,DMA_IT_TCIF1);后,该标志位还是为1,请问是为什么?
为什么不能清除标志位?应该如何清除标志位?


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

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-3-8
在线时间
1 小时
 楼主| 发表于 2015-3-23 00:07:26 | 显示全部楼层
中断入口函数如下: 
void DMA2_Stream1_IRQHandler(void)
{

if(DMA_GetITStatus(DMA2_Stream1,DMA_IT_TCIF1)==SET)
{
DMA_ClearITPendingBit(DMA2_Stream1,DMA_IT_TCIF1);
}
}
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-3-8
在线时间
1 小时
 楼主| 发表于 2015-3-23 09:11:26 | 显示全部楼层
我用data_num=DMA_GetCurrDataCounter(DMA2_Stream1);获取发送的数据数,在调试断点里面看见data_num数据个数不定

好像我用断点调试程序的时候DMA还在工作,请问DMA怎样才能跟随仿真器停止?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-3-23 16:20:37 | 显示全部楼层
不太清楚,我的dma 是用的查询方式发送的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 10:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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