智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 11708|回复: 23
打印 上一主题 下一主题

K60+模拟摄像头+AD+DMA

  [复制链接]

34

主题

337

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6372

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

威望
2947
贡献
1651
兑换币
1488
注册时间
2012-1-8
在线时间
887 小时
跳转到指定楼层
1#
发表于 2012-12-16 17:12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在可以用上位机看到图像了,可是图像居然被分成了8块。这个是什么原因啊。麻烦大神多多指教!


补充内容 (2012-12-16 18:22):
代码在4楼

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

59

主题

1029

帖子

0

精华

版主

有什么需帮助的?

Rank: 9Rank: 9Rank: 9

积分
15151

热心会员奖章论坛元老奖章优秀会员奖章在线王奖章

威望
11078
贡献
1413
兑换币
1728
注册时间
2011-12-18
在线时间
1330 小时
2#
发表于 2012-12-16 17:14:54 | 只看该作者
问题很有可能出在DMA的配置上了。参考下K60底层库的DMA例程配置吧:
http://www.znczz.com/thread-112632-1-1.html
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
3#
发表于 2012-12-16 17:54:57 | 只看该作者
应该是行场中断没处理好,或者DMA采集数目设置少了。
回复 支持 反对

使用道具 举报

34

主题

337

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6372

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

威望
2947
贡献
1651
兑换币
1488
注册时间
2012-1-8
在线时间
887 小时
4#
 楼主| 发表于 2012-12-16 18:20:02 | 只看该作者
本帖最后由 676431432 于 2012-12-16 18:21 编辑

void dma_init(void)
{
    SIM_SCGC6|=SIM_SCGC6_DMAMUX_MASK;//打开DMA多路复用器时钟
        SIM_SCGC7|=SIM_SCGC7_DMA_MASK;//打开DMA模块时钟
        DMAMUX_CHCFG0=DMAMUX_CHCFG_SOURCE(40);///DMA通道0对应40号DMA请求,即ADC0
        DMA_TCD0_SADDR=(uint32)&(ADC_R_REG(ADC0_BASE_PTR, 0)); //设置源地址GPIO口,AD0
        DMA_TCD0_CITER_ELINKNO=DMA_CITER_ELINKNO_CITER(ROW);//当前主循环次数,采集点数
        DMA_TCD0_BITER_ELINKNO=DMA_BITER_ELINKNO_BITER(ROW);//起始主循环次数,采集点数
                        
        DMA_TCD0_SOFF=0;                                             //每次传送源地址不变
        
        DMA_TCD0_NBYTES_MLNO=DMA_NBYTES_MLNO_NBYTES(1);//每次读取一字节
        DMA_TCD0_SLAST=0;//主循环结束后源地址0回写tcd
        DMA_TCD0_DLASTSGA=0;//主循环结束后目的地址0回写tcd
        DMA_TCD0_DADDR=(uint32)picture;//设置目的地址,picture数组第一个元素
        DMA_TCD0_DOFF=1;//每次写目的地址加1
        DMA_TCD0_ATTR=DMA_ATTR_SSIZE(0)|DMA_ATTR_DSIZE(0);//源数据宽度8bit,目的数据宽度8bit
        DMA_TCD0_CSR=DMA_CSR_DREQ_MASK;//DMA通道0主循环结束后停止硬件请求
        DMA_TCD0_CSR|=DMA_CSR_INTMAJOR_MASK;//使能DMA0中断
        DMAMUX_CHCFG0|=DMAMUX_CHCFG_ENBL_MASK;//DMA通道0使能
}
PE_ISR(isrINT_PORTC_test)//行中断{  /* Write your interrupt code here ... */                        
PORTC_ISFR = 1 << 4;//清除中断标志                              
if(linecount == 10 + LineN[line_used_count])//判断是否为采集行               
{
      ADC0_SE_Get(ADC0_BASE_PTR, 0);//打开AD                       
       delay(100);                       
DMA_ERQ|=DMA_ERQ_ERQ0_MASK;//开启DMA                       
line_used_count++;               
}               
linecount++;               
if(line_used_count==COL)              
  {                     
  linecount=0;                       
line_used_count=0;                       
deal=1;
                }

}
PE_ISR(isrINT_PORTB_test)//场中断
{  /* Write your interrupt code here ... */   
PORTB_ISFR = 1 << 2;//清除中断标志   
dma_init();                        //dma初始化   
linecount=0;    l
ine_used_count=0;
  }

PE_ISR(isrINT_DMA0_test)//dma中断
{  /* Write your interrupt code here ... */        
DMA_INT|=DMA_INT_INT0_MASK;        
}



回复 支持 反对

使用道具 举报

42

主题

1450

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8643

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

威望
4293
贡献
2166
兑换币
2108
注册时间
2011-10-20
在线时间
1092 小时
5#
发表于 2012-12-16 18:31:15 | 只看该作者
这,看不懂
回复 支持 反对

使用道具 举报

34

主题

337

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6372

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

威望
2947
贡献
1651
兑换币
1488
注册时间
2012-1-8
在线时间
887 小时
6#
 楼主| 发表于 2012-12-16 18:57:32 | 只看该作者
叶子一哥 发表于 2012-12-16 18:31
这,看不懂

额,注释的有点少吗?
回复 支持 反对

使用道具 举报

53

主题

2469

帖子

0

精华

跨届大侠

狙击手

Rank: 10Rank: 10Rank: 10

积分
11290

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章论坛骨干奖章资源大师奖章

威望
4701
贡献
3671
兑换币
2368
注册时间
2012-3-12
在线时间
1459 小时
7#
发表于 2012-12-16 19:20:25 | 只看该作者
呵呵,这个不是我干的!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

34

主题

337

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6372

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

威望
2947
贡献
1651
兑换币
1488
注册时间
2012-1-8
在线时间
887 小时
8#
 楼主| 发表于 2012-12-16 19:23:43 | 只看该作者
sdlibin007@qq.c 发表于 2012-12-16 19:20
呵呵,这个不是我干的!!!


回复 支持 反对

使用道具 举报

31

主题

1084

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5125

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

威望
2630
贡献
1311
兑换币
922
注册时间
2011-5-8
在线时间
592 小时
9#
发表于 2012-12-16 20:12:30 | 只看该作者
sdlibin007@qq.c 发表于 2012-12-16 19:20
呵呵,这个不是我干的!!!

你统领三军噶
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
107
威望
55
贡献
30
兑换币
28
注册时间
2012-11-23
在线时间
11 小时
毕业学校
TK
10#
发表于 2012-12-17 09:50:00 | 只看该作者
洋葱圈 发表于 2012-12-16 17:14
问题很有可能出在DMA的配置上了。参考下K60底层库的DMA例程配置吧:
http://www.znczz.com/thread-112632- ...

每次都在卖广告,看看你回复其他人的,都是一个代码下载链接……别人想自己解决问题,寻找思路而已……
给鱼,却扼杀别人的渔……无非就是为了多卖自己的板子和书

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 02:27 , Processed in 0.058697 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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