智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: hoeoi
打印 上一主题 下一主题

野火鹰眼在coldfire mcf52255上使用成功

  [复制链接]

2

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
威望
703
贡献
435
兑换币
416
注册时间
2013-4-7
在线时间
133 小时
21#
发表于 2013-9-14 14:52:18 | 只看该作者
MCF_DMA_DAR(0) = (uint32)IMG_BUFF;
楼主! (uint32)IMG_BUFF我换成(uint32)&MCF_GPIO_PORTAN ,为什么不管摄像头对着哪里,采集回来的都是白点,我又换成uint32)MCF_GPIO_PORTAN ,采集回来的都是黑点,到底源地址要怎样设置才有效啊?
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
威望
703
贡献
435
兑换币
416
注册时间
2013-4-7
在线时间
133 小时
22#
发表于 2013-9-14 14:55:42 | 只看该作者
(uint32)IMG_BUFF 要怎么设置才能采回AN口的值呀?
求救啊!最近几天都在写采集图像模块,就是采集不回正常的图像!
回复 支持 反对

使用道具 举报

2

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1201
威望
600
贡献
313
兑换币
283
注册时间
2012-5-27
在线时间
145 小时
毕业学校
广东海洋大学
23#
 楼主| 发表于 2013-10-21 21:12:56 | 只看该作者
哈哈!向上! 发表于 2013-9-14 14:52
MCF_DMA_DAR(0) = (uint32)IMG_BUFF;
楼主! (uint32)IMG_BUFF我换成(uint32)&MCF_GPIO_PORTAN ,为什么不 ...

MCF_DMA_SAR(0) = (uint32)CAMERA_ADDRESS;     //这个是设置源地址的
MCF_DMA_DAR(0) = (uint32)IMG_BUFF;               //这个IMG_BUFF是图像数组的头指针


/*************这个下面是我的宏定义******************/
//PTI PTJ PTAN 的输入地址
#define PTI_ADDRESS         0x40100034
#define PTJ_ADDRESS                0x40100036
#define PTAN_ADDRESS        0x4010003A

//参数配置
#define CAMERA_ADDRESS      PTJ_ADDRESS                        //使用PTJ端口




你要使用AN口的话,只要把MCF_DMA_SAR(0) 设置成PTAN_ADDRESS(也就是PTAN输入数据寄存器的地址0x4010003A)就行了。不好意思,比完赛,好久没上论坛了。
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
威望
703
贡献
435
兑换币
416
注册时间
2013-4-7
在线时间
133 小时
24#
发表于 2013-10-25 09:49:08 | 只看该作者
hoeoi 发表于 2013-10-21 21:12
MCF_DMA_SAR(0) = (uint32)CAMERA_ADDRESS;     //这个是设置源地址的
MCF_DMA_DAR(0) = (uint32)IMG_BU ...

呵呵!!!我将 (uint32)CAMERA_ADDRESS改为MCF_GPIO_SETAN就好了!!!谢了!!!

回复 支持 反对

使用道具 举报

27

主题

150

帖子

0

精华

会长

Rank: 8Rank: 8

积分
3077

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

威望
1484
贡献
901
兑换币
931
注册时间
2013-6-7
在线时间
346 小时
毕业学校
燕山大学
25#
发表于 2013-11-6 15:14:43 | 只看该作者
我用冷火的参考比较模式触发dma,老是提示我配置错误,怎么破?,大神
回复 支持 反对

使用道具 举报

27

主题

150

帖子

0

精华

会长

Rank: 8Rank: 8

积分
3077

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

威望
1484
贡献
901
兑换币
931
注册时间
2013-6-7
在线时间
346 小时
毕业学校
燕山大学
26#
发表于 2013-11-7 18:26:46 | 只看该作者
哈哈!向上! 发表于 2013-10-25 09:49
呵呵!!!我将 (uint32)CAMERA_ADDRESS改为MCF_GPIO_SETAN就好了!!!谢了!!!

哥,我用DMA采图像,老是显示配置错误(CE位置位),怎么回事?可以把你的DMA程序发我邮箱里吗?我邮箱928848595@qq.com是我地址格式不对吗?
回复 支持 反对

使用道具 举报

20

主题

950

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7094

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

威望
3245
贡献
1795
兑换币
2091
注册时间
2013-8-23
在线时间
1027 小时
毕业学校
南阳
27#
发表于 2013-11-7 19:10:32 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
威望
126
贡献
53
兑换币
71
注册时间
2013-3-17
在线时间
24 小时
28#
发表于 2013-11-7 19:23:59 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
威望
703
贡献
435
兑换币
416
注册时间
2013-4-7
在线时间
133 小时
29#
发表于 2013-11-9 12:01:51 | 只看该作者
金刀丸 发表于 2013-11-7 18:26
哥,我用DMA采图像,老是显示配置错误(CE位置位),怎么回事?可以把你的DMA程序发我邮箱里吗?我邮箱是我地 ...

我用的就是这样配置的呀!
void Ov7725_exti_Init()
{

MCF_GPIO_PTIPAR = 0x00;      // 配置PTI为普通IO   
    MCF_GPIO_DDRTI = 0x00;    // 设置PTI为输入
//行、场中断
init_irq(3);//行中断
init_irq(5);//场中断

//DMA 配置
MCF_GPIO_PTCPAR |= MCF_GPIO_PTCPAR_DTIN0_DTIN0;  //DTin0

MCF_DMA0_DSR |= MCF_DMA_DSR_DONE;
/* Enable DMA master access in both supervisor and user mode */
MCF_SCM_MPR = MCF_SCM_MPR_MPR(0x05);
//dtim0 trigger DMA0
MCF_SCM_DMAREQC = MCF_SCM_DMAREQC_DMAC0(0x4);

MCF_DMA_SAR(0) = (uint32)CAMERA_ADDRESS;   //换成你摄像头八位数据传输地址就好了  
MCF_DMA_DAR(0) = (uint32)IMG_BUFF;            
MCF_DMA_BCR(0) = CAMERA_DMA_NUM;
MCF_DMA_DCR(0) = //MCF_DMA_DCR_INT   //不触发DMA中断
        MCF_DMA_DCR_SSIZE(1)    //ssize : byte   
      | MCF_DMA_DCR_DSIZE(1)    //dsize : byte
      | MCF_DMA_DCR_DINC     //目的地址自增
       //| MCF_DMA_DCR_SINC     //源地址保持不变
      | MCF_DMA_DCR_D_REQ    //传输完毕后,关闭dma请求
      | MCF_DMA_DCR_EEXT     //外部触发dma
      | MCF_DMA_DCR_CS;   //一个请求触发一次

//DTMR 配置   
MCF_DTIM0_DTMR =  0;    //清空dtmr寄存器

MCF_DTIM0_DTMR = MCF_DTIM_DTMR_CE_RISE //上升沿捕捉
                             | MCF_DTIM_DTMR_CLK_DIV1;   //使用系统时钟sysclk;
   
MCF_DTIM_DTXMR(0) |=  MCF_DTIM_DTXMR_DMAEN;   //dma请求使能

//MCF_DTIM_DTXMR(0) |=  MCF_DTIM_DTXMR_HALTED;  //挂起状态停止计数
   
//MCF_DTIM_DTXMR(0) &=  ~MCF_DTIM_DTXMR_MODE16;
  
//MCF_DTIM_DTMR(0) &=  ~MCF_DTIM_DTMR_FRR;  //Restart  

//MCF_DTIM_DTMR(0) |=  MCF_DTIM_DTMR_OM;   //OutputMode

MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_PS(0x5);

      //启动DTMR  
    MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_RST;

}


回复 支持 反对

使用道具 举报

27

主题

150

帖子

0

精华

会长

Rank: 8Rank: 8

积分
3077

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

威望
1484
贡献
901
兑换币
931
注册时间
2013-6-7
在线时间
346 小时
毕业学校
燕山大学
30#
发表于 2013-11-9 23:37:50 | 只看该作者
哥,我的问题貌似解决了,但不知道你一行采了多少个点?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 21:39 , Processed in 0.301654 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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