求鹰眼的小刀佩戴的小刀的图。

查看: 2408|回复: 14
鹰眼还是没图像!求大神救命啊~~
用了山外大哥的鹰眼和多功能助手,就是没有图像!看了巴内很多帖子,还是改不出图像,不知道问题在哪里,
用示波器查看了P、V、H的波形都正确,幅值大概200mv左右。
*& &&©RIGHT NOTICE
*& &&&Copyright (c) 2013,山外科技
*& &&&All rights reserved.
*& &&&技术讨论:山外论坛 http://www.vcan123.com
*& &&&除注明出处外,以下所有内容版权均属山外科技所有,未经允许,不得用于商业用途,
*& &&&修改内容时必须保留山外科技的版权声明。
* @file& && & main.c
* @brief& && &山外KL26 平台主程序
* @author& &&&山外科技
* @version& & v5.2
* @date& && &
#include &common.h&
#include &include.h&
uint8 imgbuff[CAMERA_SIZE];& && && && && && && && && &&&//定义存储接收图像的数组
uint8 img[CAMERA_W*CAMERA_H];& && && && && && && && && &//由于鹰眼摄像头是一字节8个像素,因而需要解压为 1字节1个像素,方便处理
//函数声明
void vcan_sendimg(uint8 *imgaddr, uint32 imgsize);
void img_extract(uint8 *dst, uint8 *src, uint32 srclen);
void PORTA_IRQHandler();
void DMA0_IRQHandler();
*&&@brief& && &main函数
*&&@since& && &v5.0
*&&@note& && & 山外 DMA 采集摄像头 实验
*/
void&&main(void)
{
& & //初始化摄像头
& & camera_init(imgbuff);
& & //配置中断服务函数
& & set_vector_handler(PORTA_VECTORn ,PORTA_IRQHandler);& & //设置LPTMR的中断服务函数为 PORTA_IRQHandler
& & set_vector_handler(DMA0_VECTORn ,DMA0_IRQHandler);& && &//设置LPTMR的中断服务函数为 PORTA_IRQHandler
& & while(1)
& & {
& && &&&//获取图像
& && &&&camera_get_img();& && && && && && && && && && && &&&//摄像头获取图像
& && &&&//多功能调试助手上位机显示,需要配置成黑白模式
& && &&&vcan_sendimg(imgbuff,CAMERA_SIZE);
& && &
& && &&&//解压后,图像数据就会变成灰度模式 !!!!也可在多功能调试助手上位机显示&&,需要上位机切换到【灰度图像】,然后代码修改为
& && &&&//img_extract(img, imgbuff,CAMERA_SIZE);
& && &&&//vcan_sendimg(img,CAMERA_W*CAMERA_H);& && && && & //注意,这里的 数据大小已经改为 CAMERA_W*CAMERA_H
& & }
}
//发送图像到上位机显示
//不同的上位机,不同的命令
//如果使用其他上位机,则需要修改代码
void vcan_sendimg(uint8 *imgaddr, uint32 imgsize)
{
#define CMD_IMG& &&&1
& & uint8 cmdf[2] = {CMD_IMG, ~CMD_IMG};& & //山外上位机 使用的命令
& & uint8 cmdr[2] = {~CMD_IMG, CMD_IMG};& & //山外上位机 使用的命令
& & uart_putbuff(UART0, cmdf, sizeof(cmdf));& & //先发送命令
& & uart_putbuff(UART0, imgaddr, imgsize); //再发送图像
& & uart_putbuff(UART0, cmdr, sizeof(cmdr));& & //先发送命令
}
*&&@brief& && &二值化图像解压(空间 换 时间 解压)
*&&@param& && &dst& && && && & 图像解压目的地址
*&&@param& && &src& && && && & 图像解压源地址
*&&@param& && &srclen& && && & 二值化图像的占用空间大小
*&&@since& && &v5.0& && && && &img_extract(img, imgbuff,CAMERA_SIZE);
*&&Sample usage:
*/
void img_extract(uint8 *dst, uint8 *src, uint32 srclen)
{
& & uint8 colour[2] = {255, 0}; //0 和 1 分别对应的颜色
& & //注:山外的摄像头 0 表示 白色,1表示 黑色
& & uint8
& & while(srclen --)
& & {
& && &&&tmpsrc = *src++;
& && &&&*dst++ = colour[ (tmpsrc && 7 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 6 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 5 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 4 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 3 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 2 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 1 ) & 0x01 ];
& && &&&*dst++ = colour[ (tmpsrc && 0 ) & 0x01 ];
& & }
}
*&&@brief& && &PORTA中断服务函数
*&&@since& && &v5.0
*/
void PORTA_IRQHandler()
{
& & uint8&&n = 0;& & //引脚号
& & uint32 flag = PORTA_ISFR;
& & PORTA_ISFR&&= ~0;& && && && && && && && && && && &&&//清中断标志位
& & n = 6;& && && && && && && && && && && && && && && & //场中断
& & if(flag & (1 && n))& && && && && && && && && && && &//PTA6触发中断
& & {
& && &&&camera_vsync();
& & }
}
*&&@brief& && &DMA0中断服务函数
*&&@since& && &v5.0
*/
void DMA0_IRQHandler()
{
& & camera_dma();
}
本帖子中包含更多资源
才可以下载或查看,没有帐号?
你现在是只用上位机里面的串口助手模式,不是图像模式,肯定看不到图像。
山外哥,你理解错了!我是在智能车助手那个框框里面打开了串口的,没有图像,只是把数据传上来,不知道问题出在哪里,用yy摄像头助手的也试了,也是啥都没有!
你现在是只用上位机里面的串口助手模式,不是图像模式,肯定看不到图像。
山外哥,你理解错了!我是在智能车助手那个框框里面打开了串口的,没有图像,只是把数据传上来,不知道问题出在哪里,用yy摄像头助手的也试了,也是啥都没有!

参考资料

 

随机推荐