找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3143|回复: 0
收起左侧

K60 MCU鹰眼摄像头例程

[复制链接]
ID:427725 发表于 2018-11-16 14:59 | 显示全部楼层 |阅读模式
基于K60单片机的摄像头历程,0.96OLED时实屏幕显示图片。

单片机源程序如下:
  1. /*!
  2. * @file       main.c
  3. * @brief      山外K60 平台主程序
  4. * @author     山外科技
  5. * @version    v5.0
  6. * @date       2013-08-28
  7. */

  8. #include "common.h"
  9. #include "include.h"

  10. uint8 imgbuff[CAMERA_SIZE];                             //定义存储接收图像的数组
  11. uint8 img[CAMERA_H][CAMERA_W];

  12. //函数声明
  13. void PORTA_IRQHandler();
  14. void DMA0_IRQHandler();



  15. /*!
  16. *  @brief      main函数
  17. *  @since      v5.0
  18. *  @note       山外摄像头 LCD 测试实验
  19. */
  20. void  main(void)
  21. {
  22.     Site_t site     = {0, 0};                           //显示图像左上角位置
  23.     Size_t imgsize  = {CAMERA_W, CAMERA_H};             //图像大小
  24.     Size_t size;                   //显示区域图像大小

  25.     LCD_init();
  26.     LCD_str            (site,"Cam init ing",FCOLOUR,BCOLOUR);

  27.     size.H = LCD_H;
  28.     size.W = LCD_W;

  29.     camera_init(imgbuff);

  30.     LCD_str            (site,"Cam init OK!",FCOLOUR,BCOLOUR);
  31.     site.y = 110;
  32.     LCD_FSTR_CH(site,vcan_str,FCOLOUR,BCOLOUR);

  33.     //配置中断服务函数
  34.     set_vector_handler(PORTA_VECTORn , PORTA_IRQHandler);   //设置 PORTA 的中断服务函数为 PORTA_IRQHandler
  35.     set_vector_handler(DMA0_VECTORn , DMA0_IRQHandler);     //设置 DMA0 的中断服务函数为 PORTA_IRQHandler
  36.     site.y = 0;
  37.     while(1)
  38.     {
  39.         camera_get_img();                                   //摄像头获取图像
  40.                       //黑白摄像头
  41.         LCD_Img_Binary_Z(site, size, imgbuff, imgsize);

  42.         /******************** 山外多功能调试助手 【黑白模式】 发送图像到上位机 ***********************/
  43.         vcan_sendimg(imgbuff, sizeof(imgbuff));

  44.         /******************** 山外多功能调试助手 【灰度模式】 发送图像到上位机 ***********************/
  45.         //img_extract(img, imgbuff, CAMERA_SIZE);          //解压为灰度图像,方便发送到上位机显
  46.         //vcan_sendimg(img, sizeof(img));

  47.         /******************** 发送图像到上位机 ***********************/
  48.         //img_extract(img, imgbuff, CAMERA_SIZE);          //解压为灰度图像,方便发送到上位机显
  49.         //sendimg(img, CAMERA_W * CAMERA_H);                    //发送到上位机
  50.     }
  51. }



  52. /*!
  53. *  @brief      PORTA中断服务函数
  54. *  @since      v5.0
  55. */
  56. void PORTA_IRQHandler()
  57. {
  58.     uint8  n;    //引脚号
  59.     uint32 flag;

  60.     while(!PORTA_ISFR);
  61.     flag = PORTA_ISFR;
  62.     PORTA_ISFR  = ~0;                                   //清中断标志位

  63.     n = 29;                                             //场中断
  64.     if(flag & (1 << n))                                 //PTA29触发中断
  65.     {
  66.         camera_vsync();
  67.     }
  68. #if ( CAMERA_USE_HREF == 1 )                            //使用行中断
  69.     n = 28;
  70.     if(flag & (1 << n))                                 //PTA28触发中断
  71.     {
  72.         camera_href();
  73.     }
  74. #endif


  75. }

  76. /*!
  77. *  @brief      DMA0中断服务函数
  78. *  @since      v5.0
  79. */
  80. void DMA0_IRQHandler()
  81. {
  82.     camera_dma();
  83. }
复制代码

所有资料51hei提供下载:
K60鹰眼摄像头例程.rar (2.53 MB, 下载次数: 32)
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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