你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
安 发表于 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测试的。楼主可以看一下。
没错,我也测试过了,我的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中断时间。
点评
但是问问题的时候,也是在花费别人的时间...