打印

小问题请教:是覆盖还是排除?

[复制链接]
1397|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianli1980|  楼主 | 2012-7-9 11:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想请问一下各位:
当一个ADC中断到来时候,程序正在中断处理数据,这时候ADC有转换结束,请求中断,因为正在中断中,所以这个请求在外面等待
但是就在时候,又一个ADC转换结束,请问此时,是覆盖掉上个等待中断请求还是不覆盖,排队?
沙发
香水城| | 2012-7-9 12:08 | 只看该作者
ADC没有FIFO的,所以不可能排队,只能覆盖,所以可以使用DMA来传输转换数据。

但是,因为没有数据FIFO,所以即使DMA也不能保证完全不丢数据。所以,要确保不丢数据,必须全盘考虑代码的负载量。

对于STM32F2和STM32F4系列,新增了OVERRUN标志位,指示数据被覆盖。

使用特权

评论回复
板凳
拿起书本| | 2012-7-9 13:55 | 只看该作者
会覆盖的,ADC的结果会自动更新到最近一次转换的结果。

使用特权

评论回复
地板
jxmzzr| | 2012-7-10 16:43 | 只看该作者
这种情况下,用DMA会好比较好吧?

使用特权

评论回复
5
tianli1980|  楼主 | 2012-7-12 10:37 | 只看该作者
不是 我就是想问 会不会覆盖那个中断请求,如果不覆盖,那么内存会不断得减少,直到溢出

使用特权

评论回复
6
tianli1980|  楼主 | 2012-9-1 09:27 | 只看该作者
知道了,挂了这么久,结贴了,谢谢楼上的各位朋友。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝