[讨论] 一个不该作的比较 : STM32F1 与C2000 的ADC的比较

dontium   2014-4-19 22:11 楼主
        用STM32F103,对ADC编程时,觉得它的ADC配合DMA很是方便,然而,仔细一想,它不用DMA -- 多数情况下还是不行的。因为,如果多通道转换时,它的结果寄存器只有一个,如果不及时将结果移走,下一通道转换将覆盖原来的值。
   如,ADC1的通道1、2、3……进行序列转换,必须在每次、每通道ADC结束后配合DMA将结果移走。而不是一个序列结束后移走。

用C2000,初看来,它没有DMA(如F28027),但是,它有16个结果寄存器,同一个ADC只要设置SOC不同,就会将产生的ADC结果放入不同的寄存器,并且,它的结果寄存器是和总线相连的,CPU读取很方便。


这样看来,STM32的ADC所用的DMA的两者之和,等同于C2000的多个结果寄存器。

然而,DMA可以设置很多个结果缓冲存储器 ,而C2000只有有限个寄存器。


回复评论 (3)

果断用DMA的。。
点赞  2014-4-19 22:17
引用: 常见泽1 发表于 2014-4-19 22:17
果断用DMA的。。

应该是各有特点,各有各有的优势
点赞  2014-4-20 00:19
是呀,各有特点,成本也不同
点赞  2014-4-20 09:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复