你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
安 发表于 2016-11-8 14:12 103测试,ADC采集1000个数据,当HT产生时CNDTR值为491,TC产生时CNDTR的值为0。 如果在HT产生时加了中断, ...
五哥1 发表于 2016-11-8 11:24 根据楼主的情况,结合以往,绝大多数的问题都是提出问题的楼主自行解决的,因为所有发言的人都是在你提供的 ...
查看全部评分
安 发表于 2016-11-10 11:07 我测试1us下,HT和TC产生的中断和下次产生的间隔相差为500us,我用的是1000组采集。定时器为10us。如下: A ...
安 发表于 2016-11-10 15:38 我用的是103测试的。楼主可以看一下。
andrewz 发表于 2016-11-12 11:22 做技术最常见的就是相信自己过于相信别人...
zero99 发表于 2016-11-16 09:16 楼主找到原因了吗
xmshao 发表于 2016-12-7 17:20 楼主没有什么实质问题。只是一个误解。 它虽然没开TC中断,但它计时是两次HT中断的时间,这个时间跟TC的 ...
没错,我也测试过了,我的CNDTR也是对的。但是HT产生中断所需要的时间却是和TC产生所需要的时间一样,这怎么解释?
所有源码都贴上了,你还看不懂,真无语
我就说我这边的时间: 我是ADC DMA方式, ADC采样2.2us采集一次。 DMA buff大小500,理论上TC中断一次需要1100us,HT中断一次需要550us。 结果测出来HT也是1100us中断一次。
ADC_ConvHalfCp:9029,496
ConvCplt:9029,0
ADC_ConvHalfCp:9079,496
ConvCplt:9079,0
ADC_ConvHalfCp:9130,496
ConvCplt:9130,0
TC情况下测试的是1000us,定时器为10us,如下:
ConvCplt:190,0
ConvCplt:290,0
ConvCplt:391,0
ConvCplt:492,0
ConvCplt:593,0
ConvCplt:694,0
ConvCplt:794,0
评分
查看全部评分
我看看你的源码,我跑一下试试
我明白了,我们的程序没问题。 是我误会了其中的意思了,半传输中断,只在DMA传输到一半时才产生。第一次中断是在传输了BUFF/2之时, 第二次中断也是在传输了BUFF/2之时。 两次中断间隔之间,其实传输了整个BUFF。 也就是说每中断一次需要的时间是传输整个BUFF的时间。也就是说TC中断时间=HT中断时间。
点评
但是问问题的时候,也是在花费别人的时间...
我很感谢那些帮助我的朋友,我反对那种一有问题就上来提问的人。但是,当你遇到瓶颈的时候,需要别人的帮助来获取灵感,思路越广,对解决问题就提供了更多的可能。如果你觉得这样花费别人的时间是没有意义,那我也无可厚非!
楼主没有什么实质问题。只是一个误解。
它虽然没开TC中断,但它计时是两次HT中断的时间,这个时间跟TC的时间是一致的。
好的,谢谢