极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10836|回复: 3

操作PTC06串口摄像头的类库

[复制链接]
发表于 2012-11-28 21:10:38 | 显示全部楼层 |阅读模式
最近一段时间做一个小玩意,需要用Arduino操作串口摄像头。
每次拍照都要给摄像头发送指令并进行验证,如果直接在loop函数里面写,将会导致代码的可读性下降。
于是,自己动手,封装了操作PTC06的类库。
只公开了拍照(shoot)和获取图片数据(getBytes)等几个常用的方法,现在loop函数写起来非常的简单。例如:

  1.         cinema = new PTC06(&Serial1);//初始化摄像头,指定使用的串口(软、硬均可)
  2. if(cinema->shoot(&length)==PTC06::RESULT_SUCCESS)//如果拍摄成功,shoot函数的参数即为所拍摄图片的长度
  3. {
  4.         while((len = cinema->getBytes(buffer, BUFFER_LENGTH))>0)//使用缓冲buffer循环读取PTC06中的图片数据,getBytes函数的返回值为实际读取的长度
  5.         {
  6.                 //将读取的数据写入目标对象
  7.         }

  8. }
复制代码




需要的朋友可以下载试一试,希望大家能提出宝贵意见。

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-12-31 15:45:51 | 显示全部楼层
你好~能不能把arduino程序写的详细些~我在写PTC06 初始化程序时不理解Stream*这个类型的参数……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-17 23:01:13 | 显示全部楼层
本帖最后由 爱我吧 于 2013-2-17 23:02 编辑
玉溪 发表于 2012-12-31 15:45
你好~能不能把arduino程序写的详细些~我在写PTC06 初始化程序时不理解Stream*这个类型的参数……


是这样的,因为PTC06是个串口摄像头,所以,Arduino需要通过串口读取PTC06的数据,所以,在实例化PTC06的时候,需要指明使用哪个串口读取数据。
看一下SoftwareSerial和HardwareSerial的源文件就会发现,这两个类的父类都是Stream,所以,构造器参数我就用了Stream*。

使用的时候,如果使用的是硬串口,比如MEGA2560的Serial1,则可以这样构造:
  1. PTC06* cinema = new PTC06(&Serial1);
复制代码
如果使用的是软串口,则可以这样构造:
  1. SoftwareSerial* ss = new SoftwareSerial(7, 8);
  2. PTC06* cinema = new PTC06(ss);
复制代码
回复 支持 反对

使用道具 举报

发表于 2013-3-9 15:27:50 | 显示全部楼层
爱我吧 发表于 2013-2-17 23:01
是这样的,因为PTC06是个串口摄像头,所以,Arduino需要通过串口读取PTC06的数据,所以,在实例化PTC06 ...

谢谢啊~~ 还有个问题就是,照片能够存储在arduino版上么?arduino板容量大么?
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 10:28 , Processed in 0.039949 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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