智能车制作

标题: 图像采集问题 [打印本页]

作者: 扫把小猪    时间: 2015-5-9 16:39
标题: 图像采集问题
采集的图像  是啥原因啊

作者: xhx331153066    时间: 2015-5-9 17:23
一行就40个点???
作者: 小三爷_xhgGz    时间: 2015-5-9 18:30
你的宽和高反了吧
作者: 扫把小猪    时间: 2015-5-9 19:13
小三爷_xhgGz 发表于 2015-5-9 18:30
你的宽和高反了吧

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\975219353\QQ\WinTemp\RichOle\91CMF(MJ32N{PG2R0W0_F84.jpg[attach]76951[/attach][attach]76951[/attach]  改完之后 图像变成这样了啊 咋回事哦


作者: admingj    时间: 2015-5-9 21:02
采集是端口读还是DMA?如果是DMA可能是一次搬运不是8bit就会出现类似现象
作者: 小三爷_xhgGz    时间: 2015-5-10 10:37
扫把小猪 发表于 2015-5-9 19:13
改完之后 图像变成这样了啊 咋回事哦

你看看点数对了么,之前碰到过类似的情况,改了一下每列点数就正常了

作者: 下雨    时间: 2015-5-10 19:54
查看程序内设置采集的行和列都是多少 上位机对应宽高也设置好 试试
作者: 扫把小猪    时间: 2015-5-11 19:53
admingj 发表于 2015-5-9 21:02
采集是端口读还是DMA?如果是DMA可能是一次搬运不是8bit就会出现类似现象

void dma_init()          //DMA中要采集多少个点40*140个点 就要循环多少次
{

   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_t)&(ADC_R_REG(ADC0_BASE_PTR, 0));
   DMA_TCD0_SADDR = (unsigned long int)&ADC0_RA;     //原地址 ADC_RA
   DMA_TCD0_SOFF = 0;//每次传送源地址不变
   DMA_TCD0_CITER_ELINKNO=DMA_CITER_ELINKNO_CITER(90*40);//当前主循环次数,采集点数
   DMA_TCD0_BITER_ELINKNO=DMA_BITER_ELINKNO_BITER(90*40);//起始主循环次数,采集点数
   DMA_TCD0_ATTR = DMA_ATTR_SSIZE(0) | DMA_ATTR_DSIZE(0);//源数据宽度8bit,目的数据宽度8bit
   DMA_TCD0_NBYTES_MLNO = DMA_NBYTES_MLNO_NBYTES(1);//每次读取一字节
   DMA_TCD0_SLAST = 0;//主循环结束后源地址0回写tcd
   DMA_TCD0_DLASTSGA = 0;
   DMA_TCD0_DADDR=(uint32_t)BUFF;//设置目的地址,video数组第一个元素
   DMA_TCD0_DOFF=1;//每次写目的地址加1
   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使能

   //DMA_TCD0_CSR|=DMA_CSR_START_MASK;
}

这是我的DMA初始化,我采集40*90,那么是不是 DMA_TCD0_CITER_ELINKNO=DMA_CITER_ELINKNO_CITER(190*40);就是循环90*40啊,还有我的源数据宽度是 8位 目的数据宽度是 8位 ,我AD采集是8位AD的,源数据,和目的数据是不是要设置8位啊


作者: 哈哈哈hahahaa    时间: 2015-6-6 17:12
问题解决了吗?




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