智能车制作

标题: 简单分享一下ADC DMA的配置过程的问题与实现 [打印本页]

作者: wen123    时间: 2014-3-2 21:54
标题: 简单分享一下ADC DMA的配置过程的问题与实现
我用的是野火的库,里面没有我们能用的关于AD 触发DMA的程序,,今年搞了一天啊,真心苦逼,,感觉都设置对了就是不出数据,这个是很蛋疼的事情啊,说说我配置过程出现的问题吧。。希望对大家有用,首先要用ad采集128个点,这个就不能让adad的配置肯定要设置好!!关键一点的是要使能ad的DMA(基本上和单独ad的设置差不多唯一这点要注意)芯片手册上有(不好截屏),然后再在野火的关于DMA配置的基础上把关于GPIO触发的删掉(或者直接无视)关键一点触发源要改为ADC的
修改触发源的地方:

    /* 配置 DMA 触发源 */
#if defined(MK60DZ10)
    DMAMUX_CHCFG_REG(DMAMUX_BASE_PTR, CHn) = (0
#elif defined(MK60F15)
    DMAMUX_CHCFG_REG(DMAMUX0_BASE_PTR, CHn) = (0
#endif
            | DMAMUX_CHCFG_ENBL_MASK                        /* Enable routing of DMA request */
            //| DMAMUX_CHCFG_TRIG_MASK                        /* Trigger Mode: Periodic   PIT周期触发传输模式   通道1对应PIT1,必须使能PIT1,且配置相应的PIT定时触发 */
            | DMAMUX_CHCFG_SOURCE( 触发源标号)该这个标号即可
//dma_portx2buff_init(DMA_CH0, PTB_B0_IN, buff, PTA7, DMA_BYTE1, 10, DADDR_RECOVER);
                //4003_B010    //DMA初始化,源地址:PTB_B0_IN,目的地址:buff,PTA7触发(默认上升沿),每次传输1字节,共传输 10次 ,传输结束后恢复地址PS原地址用adc的地址,不着知道具体的用取地址&ADC0_RA或&ADC0_RB,用软件触发ad用&ADC0_RA,用硬件用这个&ADC0_RB)
,配置好DMA之后使能DMA(记得)都配置好后,等曝光时间一到开始采集,采集完了触发DMA,DMA这里我用的是查询法(没有用中断感觉中断不好)

                              if(DMA_IsComplete())//DMA传输完成
        {
          DMA_TCD0_CSR&= 0x7f;//清楚标准位(一定要清楚不然一直触发,上位机数据不动)
          SendImageData(CCD_BUFF[0]);//上微机查看波形很好,,,,,,配置完成啦
        }

然后就是重新配置DMA使能,,,,重新曝光采集DMA传输。。。。。
写的好乱,怎么我贴的代码这么乱啊??大家将就看吧!!

作者: stxhb    时间: 2014-3-2 23:50
DMA有啥优点
作者: 一誓灬千年    时间: 2014-3-3 18:01
顶一个!
作者: 一誓灬千年    时间: 2014-3-3 18:03
DMA采集不放到中断里的话,采集的时候不会被中断打断吗?这样的话出来的数据就不连续了吧?
作者: wen123    时间: 2014-3-3 19:05
一誓灬千年 发表于 2014-3-3 18:03
DMA采集不放到中断里的话,采集的时候不会被中断打断吗?这样的话出来的数据就不连续了吧?

我没有使能DMA中断啊,用的查询法

作者: 天荒地老    时间: 2014-3-6 09:21
:(:(太乱了,确实没看懂。想问一下怎么配置ad啊
作者: wen123    时间: 2014-3-6 11:46
天荒地老 发表于 2014-3-6 09:21
太乱了,确实没看懂。想问一下怎么配置ad啊

上面的就是啊!!!!!!!!!!1
作者: 天荒地老    时间: 2014-3-6 16:37
wen123 发表于 2014-3-6 11:46
上面的就是啊!!!!!!!!!!1

上面的不是在配置dma吗?果然我没有看懂

作者: wen123    时间: 2014-3-6 18:18
天荒地老 发表于 2014-3-6 16:37
上面的不是在配置dma吗?果然我没有看懂

配置DMA有啥配置的啊!关键是ad的DMA配置!表示对你无语啊

作者: wen123    时间: 2014-3-6 18:19
天荒地老 发表于 2014-3-6 16:37
上面的不是在配置dma吗?果然我没有看懂

你没看懂标题!!!!????????????

作者: 天荒地老    时间: 2014-3-6 19:06
wen123 发表于 2014-3-6 18:19
你没看懂标题!!!!????????????

。。。。那个dma是pit触发的啊?我说的是配置ad的触发源什么的,怎么配置能让它一直采集。。。o(╯□╰)o

作者: wen123    时间: 2014-3-6 19:47
天荒地老 发表于 2014-3-6 19:06
。。。。那个dma是pit触发的啊?我说的是配置ad的触发源什么的,怎么配置能让它一直采集。。。o(╯□╰)o ...

你!!!我什么事后我配置的ad是pit触发了,,,就是软件触发的

作者: 天荒地老    时间: 2014-3-7 08:36
wen123 发表于 2014-3-6 19:47
你!!!我什么事后我配置的ad是pit触发了,,,就是软件触发的

大哥,给你跪了,adc和dma是分开的啊。。。。。我真的只看到你在配置dma。。。能不能分享一下程序?935743545@qq.com

作者: 小傻妞儿    时间: 2014-3-24 13:41

作者: 苍天吐血    时间: 2014-3-24 20:58
太乱了,就看懂了最后面那段




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2