操作PTC06串口摄像头的类库
最近一段时间做一个小玩意,需要用Arduino操作串口摄像头。每次拍照都要给摄像头发送指令并进行验证,如果直接在loop函数里面写,将会导致代码的可读性下降。
于是,自己动手,封装了操作PTC06的类库。
只公开了拍照(shoot)和获取图片数据(getBytes)等几个常用的方法,现在loop函数写起来非常的简单。例如:
cinema = new PTC06(&Serial1);//初始化摄像头,指定使用的串口(软、硬均可)
if(cinema->shoot(&length)==PTC06::RESULT_SUCCESS)//如果拍摄成功,shoot函数的参数即为所拍摄图片的长度
{
while((len = cinema->getBytes(buffer, BUFFER_LENGTH))>0)//使用缓冲buffer循环读取PTC06中的图片数据,getBytes函数的返回值为实际读取的长度
{
//将读取的数据写入目标对象
}
}
需要的朋友可以下载试一试,希望大家能提出宝贵意见。 你好~能不能把arduino程序写的详细些~我在写PTC06 初始化程序时不理解Stream*这个类型的参数…… 本帖最后由 爱我吧 于 2013-2-17 23:02 编辑
玉溪 发表于 2012-12-31 15:45 static/image/common/back.gif
你好~能不能把arduino程序写的详细些~我在写PTC06 初始化程序时不理解Stream*这个类型的参数……
是这样的,因为PTC06是个串口摄像头,所以,Arduino需要通过串口读取PTC06的数据,所以,在实例化PTC06的时候,需要指明使用哪个串口读取数据。
看一下SoftwareSerial和HardwareSerial的源文件就会发现,这两个类的父类都是Stream,所以,构造器参数我就用了Stream*。
使用的时候,如果使用的是硬串口,比如MEGA2560的Serial1,则可以这样构造:PTC06* cinema = new PTC06(&Serial1);
如果使用的是软串口,则可以这样构造:SoftwareSerial* ss = new SoftwareSerial(7, 8);
PTC06* cinema = new PTC06(ss); 爱我吧 发表于 2013-2-17 23:01 static/image/common/back.gif
是这样的,因为PTC06是个串口摄像头,所以,Arduino需要通过串口读取PTC06的数据,所以,在实例化PTC06 ...
谢谢啊~~ 还有个问题就是,照片能够存储在arduino版上么?arduino板容量大么?
页:
[1]