智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1274|回复: 2
打印 上一主题 下一主题

新手求助!!大神们CCD的图像只有一半是怎么回事儿啊?

[复制链接]

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
201
贡献
109
兑换币
116
注册时间
2013-3-19
在线时间
42 小时
毕业学校
金职院
跳转到指定楼层
1#
发表于 2014-1-29 15:13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序是照着蓝宙的写的是哪里弄错了吗?

void delay_200ns()
{
         for(delay200ns=0;delay200ns<4;delay200ns++);
}

//***********SI=1*******//
// void SI_HIGH()
// {
//         GPIO_SetBits(PTC,GPIO_Pin_11); //PC16置高
// }
// //**********CLK=1********//
// void CLK_HIGH()
// {
//         GPIO_SetBits(PTC,GPIO_Pin_10); //PC14置高
// }
// //***********SI=0*******//
// void SI_DOWN()
// {
//         GPIO_ResetBits(PTC,GPIO_Pin_11); //PC16置低
// }
// //**********CLK=0********//
// void CLK_DOWN()
// {
//         GPIO_ResetBits(PTC,GPIO_Pin_10); //PC14置低
// }


//********CCD初始化程序***************//
void CCD_init()
{
        ADC_InitTypeDef ADC_InitStruct_AO;
        GPIO_InitTypeDef GPIO_InitStruct_SI_CLK;
        //SI端口初始化
       
        GPIO_InitStruct_SI_CLK.GPIOx = PTC;//PORTC
        GPIO_InitStruct_SI_CLK.GPIO_InitState = Bit_SET;//初始化后为高
        GPIO_InitStruct_SI_CLK.GPIO_IRQMode = GPIO_IT_DISABLE;//不使能中断
        GPIO_InitStruct_SI_CLK.GPIO_Pin = GPIO_Pin_11;//16号引脚--暂定
        GPIO_InitStruct_SI_CLK.GPIO_Mode = GPIO_Mode_OPP;//推挽输出
        GPIO_Init(&GPIO_InitStruct_SI_CLK);
        //CLK端口初始化
        GPIO_InitStruct_SI_CLK.GPIOx = PTC;//PORTC
        GPIO_InitStruct_SI_CLK.GPIO_InitState = Bit_SET;//初始化后为高
        GPIO_InitStruct_SI_CLK.GPIO_IRQMode = GPIO_IT_DISABLE;//不使能中断
        GPIO_InitStruct_SI_CLK.GPIO_Pin = GPIO_Pin_10;//16号引脚--暂定
        GPIO_InitStruct_SI_CLK.GPIO_Mode = GPIO_Mode_OPP;//推挽输出
        GPIO_Init(&GPIO_InitStruct_SI_CLK);
        //AO端口初始化
       
        ADC_InitStruct_AO.ADCxMap=ADC0_SE14_PC0;//ADC0-PTC0
        ADC_InitStruct_AO.ADC_Precision=ADC_PRECISION_8BIT;//8BIT
        ADC_InitStruct_AO.ADC_TriggerSelect=ADC_TRIGGER_SW;//软件触发
        ADC_Init(&ADC_InitStruct_AO);
}
//********CCD启动程序1--用于曝光*********//
void CCD_start1()//用于曝光-----------------
{
        unsigned char i;
        SI_HIGH();                                //SI=1
        delay_200ns();
        CLK_HIGH();                                //CLK=1
        delay_200ns();
        SI_DOWN();        //SI=0
        delay_200ns();
        CLK_DOWN();                                //CLK=0
        for(i=0;i<127;i++)
        {
                delay_200ns();
                delay_200ns();
          CLK_HIGH();                                //CLK=1
                delay_200ns();
                delay_200ns();
                CLK_DOWN();                                //CLK=0
        }
        delay_200ns();
        delay_200ns();
        CLK_HIGH();                                //CLK=1
        delay_200ns();
        delay_200ns();
        CLK_DOWN();                                //CLK=0
}



unsigned char CCD_Value;
//********CCD启动程序2--用于采集*********//
void CCD_start2(unsigned char * ImageData)
{
        unsigned char i;
        //SI信号---------------
        SI_HIGH();                                //SI=1
        delay_200ns();
        CLK_HIGH();                                //CLK=1
        delay_200ns();
        SI_DOWN();        //SI=0
        delay_200ns();
        //----------------------
  //Delay 10us for sample the first pixel
  /**/
        for(i=0;i<250;i++)////更改250,让CCD的图像看上去比较平滑,
        {
                delay_200ns();
}
       
        //Sampling Pixel 1
        *ImageData =ADC_GetConversionValue(ADC0_SE14_PC0);//采集第一个像素
  ImageData++;
        CLK_DOWN();                                //CLK=0
        for(i=1;i<=127;i++)
        {
                delay_200ns();
                delay_200ns();
                CLK_HIGH();                                //CLK=1
                delay_200ns();
                delay_200ns();
                //2~128
        *ImageData =ADC_GetConversionValue(ADC0_SE14_PC0);//采集第一个像素
  ImageData++;
          CLK_DOWN();                                //CLK=0
                delay_200ns();
                delay_200ns();
                CLK_HIGH();                                //CLK=1
                delay_200ns();
                delay_200ns();
                CLK_DOWN();                                //CLK=0               
        }
}

本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
201
贡献
109
兑换币
116
注册时间
2013-3-19
在线时间
42 小时
毕业学校
金职院
2#
 楼主| 发表于 2014-1-29 18:20:16 | 只看该作者
已经解决了- -,原来是程序问题
回复 支持 反对

使用道具 举报

29

主题

777

帖子

0

精华

常驻嘉宾

简单的算法+完美的机械结构

Rank: 8Rank: 8

积分
4688

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

QQ
威望
2219
贡献
1497
兑换币
1390
注册时间
2013-11-8
在线时间
486 小时
3#
发表于 2014-1-30 00:13:33 | 只看该作者
你那图像为撒那么低了,二值化过吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 23:26 , Processed in 0.069188 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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