TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS3137中使用DMA来传输AD转换结果【TI FAE分享】

发现HALCoGen中没有给出DMA和ADC的联合工作例子,所以自己写了一个,请大家参考。

这个例子的工作过程如下:

                1. ADC使用ADC1的Event Group,24个通道全采集,非连续模式。

                2. ADC转换的触发由N2HET1的HET1[8](pwm0)来触发,当前设置为1ms周期的触发信号。

                3. ADC的24通道转换完成后,不产生中断而是触发DMA。

                4. DMA将24通道的转换结果全搬移到adcData[24]这个数组里面,搬移完成后,产生DMA中断。

                5. 调试时,用户可以在notification.c的dmaNotificationFTCA()这个函数中放断点,然后观察adcData[24]的内容。

                6. 工程使用了最新的CCS v5.3.0,编译器也是最新的TI ARM compiler V5.0.1,所以打不开的同学可以升级CCS或者新建工程导入源文件。

Axel Gao:

dmaConfigCtrlPacket((uint32_t)(&(adcREG1->GxBUF[0])),(uint32_t)(&adcData),D_SIZE); 这句话中(&adcData),&取地址符是否多余?因为adcData 本身就是个数组,他已经是一个指针变量了。而且,我把程序烧进片内调试时,似乎试验的结果不太正确,每个channel ID的值都不是其本身的值。

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS3137中使用DMA来传输AD转换结果【TI FAE分享】
分享到: 更多 (0)