智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

[飞思卡尔传感器] K60的CCD程序移植到STM32上只有0和FF

[复制链接]

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
70
威望
52
贡献
12
兑换币
19
注册时间
2016-8-20
在线时间
3 小时
毕业学校
浙江科技学院
跳转到指定楼层
#
发表于 2016-9-13 08:33:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
5贡献
图片为用蓝宙的上位机显示数据。下面附上主要程序,程序也是蓝宙的STM32程序,麻烦大家帮忙看一下 谢谢~(CCD没坏,用K60的程序显示正常)
  1. int main(void)
  2. {         
  3.         u8 i;
  4.         u8 send_data_cnt = 0;
  5.         u8 *pixel_pt;  
  6.         delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
  7.         NVIC_Configuration();          //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
  8.         uart_init(115200);                 //′®¿ú3õê¼»ˉÎa9600
  9.         LED_Init();                             //LED¶Ë¿ú3õê¼»ˉ
  10.         TIM3_Int_Init(4999,55);//10KhzμļÆêyÆμÂ꣬¼Æêyμ½5000Îa5ms  
  11.         LandzoCCD_init(); // CCD3õê¼»ˉ
  12.         pixel_pt = Pixel;
  13.         for(i=0; i<128+10; i++)
  14.         {
  15.          *pixel_pt++ = 0;
  16.         }        
  17.         while(1)
  18.         {
  19.      if(TIME0flag_5ms == 1)
  20.       {
  21.           TIME0flag_5ms = 0 ;
  22.           ImageCapture(Pixel);        //CCD2éÑù  Sampling CCD data
  23.           if(++send_data_cnt >= 5)    //′®¿ú·¢Ëíêy¾Y  Send data to CCDView every 100ms
  24.           {
  25.               send_data_cnt = 0;
  26.               SendImageData(Pixel);
  27.           }
  28.       }
  29.           LED0 = ~LED0;
  30.         }
复制代码
  1. void ImageCapture(uint8_t * ImageData) {
  2.     uint8_t i;
  3.     extern uint8_t AtemP ;

  4.     SI_SetVal();            /* SI  = 1 */
  5.     delay_us(20);
  6.     CLK_SetVal();           /* CLK = 1 */
  7.         delay_us(20);
  8.     SI_ClrVal();            /* SI  = 0 */
  9.     delay_us(30);
  10. //Delay 10us for sample the first pixel
  11.     for(i = 0; i < 200; i++) {                    //¸ü¸Ä250£¬èÃCCDμÄí¼Ïñ¿′éÏ襱è½Ïƽ»¬£¬
  12.       SamplingDelay();  //200ns                  //°Ñ¸ÃÖμ¸Ä′ó»òÕ߸ÄD¡′ïμ½×Ô¼oÂúòaμĽá1û¡£
  13.     }
  14. //Sampling Pixel 1

  15.     *ImageData =  Get_Adc(ADC_Channel_1)>>4;
  16.     ImageData ++ ;
  17.     CLK_ClrVal();           /* CLK = 0 */

  18.     for(i=0; i<127; i++) {
  19.         delay_us(30);
  20.         CLK_SetVal();       /* CLK = 1 */
  21.         delay_us(30);
  22.         //Sampling Pixel 2~128
  23.        *ImageData =  Get_Adc(ADC_Channel_1)>>4;         
  24.         ImageData ++ ;
  25.         CLK_ClrVal();       /* CLK = 0 */
  26.     }
  27.     delay_us(30);
  28.     CLK_SetVal();           /* CLK = 1 */
  29.         delay_us(30);
  30.     CLK_ClrVal();           /* CLK = 0 */
复制代码

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

使用道具 举报

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
70
威望
52
贡献
12
兑换币
19
注册时间
2016-8-20
在线时间
3 小时
毕业学校
浙江科技学院
2#
 楼主| 发表于 2016-9-13 09:17:01 | 只看该作者
这张图片是同样的传感器在K60运行蓝宙例程的效果

本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
70
威望
52
贡献
12
兑换币
19
注册时间
2016-8-20
在线时间
3 小时
毕业学校
浙江科技学院
1#
 楼主| 发表于 2016-9-13 08:34:45 | 只看该作者
直接从KEIL上COPY的代码注释有乱码 。。。看起来稍微乱一点
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 14:55 , Processed in 0.097012 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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