智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6222|回复: 14
打印 上一主题 下一主题

简单分享一下ADC DMA的配置过程的问题与实现

[复制链接]

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
跳转到指定楼层
1#
发表于 2014-3-2 21:54:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是野火的库,里面没有我们能用的关于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传输。。。。。
写的好乱,怎么我贴的代码这么乱啊??大家将就看吧!!
回复

使用道具 举报

4

主题

215

帖子

0

精华

高级会员

Rank: 4

积分
950
威望
490
贡献
234
兑换币
314
注册时间
2013-11-5
在线时间
113 小时
毕业学校
棣棠中心校
2#
发表于 2014-3-2 23:50:09 | 只看该作者
DMA有啥优点
回复 支持 反对

使用道具 举报

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2194

活跃会员奖章优秀会员奖章

威望
1065
贡献
569
兑换币
675
注册时间
2014-1-7
在线时间
280 小时
3#
发表于 2014-3-3 18:01:37 | 只看该作者
顶一个!
回复 支持 反对

使用道具 举报

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2194

活跃会员奖章优秀会员奖章

威望
1065
贡献
569
兑换币
675
注册时间
2014-1-7
在线时间
280 小时
4#
发表于 2014-3-3 18:03:27 | 只看该作者
DMA采集不放到中断里的话,采集的时候不会被中断打断吗?这样的话出来的数据就不连续了吧?
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
5#
 楼主| 发表于 2014-3-3 19:05:18 | 只看该作者
一誓灬千年 发表于 2014-3-3 18:03
DMA采集不放到中断里的话,采集的时候不会被中断打断吗?这样的话出来的数据就不连续了吧?

我没有使能DMA中断啊,用的查询法
回复 支持 反对

使用道具 举报

12

主题

222

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3163
威望
1367
贡献
746
兑换币
635
注册时间
2013-9-15
在线时间
525 小时
毕业学校
xd
6#
发表于 2014-3-6 09:21:08 | 只看该作者
:(:(太乱了,确实没看懂。想问一下怎么配置ad啊
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
7#
 楼主| 发表于 2014-3-6 11:46:54 | 只看该作者
天荒地老 发表于 2014-3-6 09:21
太乱了,确实没看懂。想问一下怎么配置ad啊

上面的就是啊!!!!!!!!!!1
回复 支持 反对

使用道具 举报

12

主题

222

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3163
威望
1367
贡献
746
兑换币
635
注册时间
2013-9-15
在线时间
525 小时
毕业学校
xd
8#
发表于 2014-3-6 16:37:51 | 只看该作者
wen123 发表于 2014-3-6 11:46
上面的就是啊!!!!!!!!!!1

上面的不是在配置dma吗?果然我没有看懂
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
9#
 楼主| 发表于 2014-3-6 18:18:29 | 只看该作者
天荒地老 发表于 2014-3-6 16:37
上面的不是在配置dma吗?果然我没有看懂

配置DMA有啥配置的啊!关键是ad的DMA配置!表示对你无语啊
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
10#
 楼主| 发表于 2014-3-6 18:19:34 | 只看该作者
天荒地老 发表于 2014-3-6 16:37
上面的不是在配置dma吗?果然我没有看懂

你没看懂标题!!!!????????????
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-9 00:02 , Processed in 0.099186 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表