注册 登录
查看: 975|回复: 15

[摄像头组] 新人求教各位前辈,用山外哥的LCD_摄像头测试程序,上位机死活也没图像。

[复制链接]
发表于 2014-11-18 22:05:45 | 显示全部楼层 |阅读模式
  接触到摄像头不久,也挺喜欢去弄它的,无奈知识面太少了,遇到各种问题,在网上各种百度,各种请教,也有学长细心指导,可找来找去也还是不行。
下面是我的操作步骤:
   1.
void  main(void)
{
    Site_t site     = {0, 0};                           //显示图像左上角位置
    Size_t imgsize  = {CAMERA_W, CAMERA_H};             //图像大小
    Size_t size;                   //显示区域图像大小

    LCD_init();

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

    camera_init(imgbuff);
    //配置中断复位函数
    set_vector_handler(PORTA_VECTORn , PORTA_IRQHandler);   //设置LPTMR的中断复位函数为 PORTA_IRQHandler
    set_vector_handler(DMA0_VECTORn , DMA0_IRQHandler);     //设置LPTMR的中断复位函数为 PORTA_IRQHandler

    NVIC_SetPriorityGrouping(4);
    NVIC_SetPriority(PORTE_IRQn,0);
    NVIC_SetPriority(PIT1_IRQn,1);
    NVIC_SetPriority(PIT0_IRQn,2);
    NVIC_SetPriority(DMA0_IRQn,3);
    while(1)
    {
        camera_get_img();                                   //摄像头获取图像

#if     ( CAMERA_COLOR == 1 )                               //灰度摄像头
        LCD_Img_gray_Z  (site, size, imgbuff, imgsize);
#elif   ( CAMERA_COLOR == 0 )                               //黑白摄像头
        LCD_Img_Binary_Z(site, size, imgbuff, imgsize);
#endif

#if 1
        /******************** 发送图像到上位机 ***********************/
        img_extract(img, imgbuff, CAMERA_SIZE);          //解压为灰度图像,方便发送到上位机显
        sendimg(img, CAMERA_W * CAMERA_H);                    //发送到上位机
#endif

    }
}


/*!
*  @brief      PORTA中断服务函数
*  @since      v5.0
*/
void PORTA_IRQHandler()
{
    uint8  n;    //引脚号
    uint32 flag;

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

    n = 29;                                             //场中断
    if(flag & (1 << n))                                 //PTA29触发中断
    {
        camera_vsync();
    }
#if ( CAMERA_USE_HREF == 1 )                            //使用行中断
    n = 28;
    if(flag & (1 << n))                                 //PTA28触发中断
    {
        camera_href();
    }
#endif


}

/*!
*  @brief      DMA0中断服务函数
*  @since      v5.0
*/
void DMA0_IRQHandler()
{
    camera_dma();
}


//发送图像到上位机显示
//不同的上位机,不同的命令,这里使用 yy_摄像头串口调试 软件
//如果使用其他上位机,则需要修改代码
void sendimg(uint8 *imgaddr, uint32 imgsize)
{
    uint8 cmd[4] = {0, 255, 1, 0 };    //yy_摄像头串口调试 使用的命令

    uart_putbuff(VCAN_PORT, cmd, sizeof(cmd));    //先发送命令

    uart_putbuff(VCAN_PORT, imgaddr, imgsize); //再发送图像
}

//压缩二值化图像解压(空间 换 时间 解压)
//srclen 是二值化图像的占用空间大小

关键点总结如下:
修改了#if 0为#if 1,   将UART3改为UART4
添加了优先级
   NVIC_SetPriorityGrouping(4);
    NVIC_SetPriority(PORTE_IRQn,0);
    NVIC_SetPriority(PIT1_IRQn,1);
    NVIC_SetPriority(PIT0_IRQn,2);
    NVIC_SetPriority(DMA0_IRQn,3);
2.使用USB串口转接,这里我TXD接的C14,RXD连接的是C15,打开yy调试助手,检测到端口COM8,波特率设置为115200(在电脑的设备管理上COM8端口设置也改成了115200).点击打开——》开始。(有一点我不知道会不会有问题,该软件需要 Microsoft .Framework 2.0支持,注意是2.0版本,而我的不是2.0,是3.5的,会不会影响?)
3.烧写程序进入板子里,能够烧写成功。
4.使用USB串口转接,只有一个红色的灯亮。
5.点击开始运行,上位机没有图像。
真心求教啊,希望能够指点一下。感谢了

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-11-18 22:09:26 | 显示全部楼层
上位机的分辨率,有没有设置正确?宽80,高60
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-18 22:21:04 | 显示全部楼层
山外哥,上位机初始化设置就是80,60,。我确认了一遍,哈哈,没想到山外哥抽空来了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-18 22:26:10 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-18 22:09
上位机的分辨率,有没有设置正确?宽80,高60

山外哥,上位机初始化设置就是80,60,。我确认了一遍,我直接就用的鹰眼和k60来测试的。
回复 支持 反对

使用道具 举报

发表于 2014-11-18 23:45:01 | 显示全部楼层
落落墨 发表于 1416320770
山外哥,上位机初始化设置就是80,60,。我确认了一遍,我直接就用的鹰眼和k60来测试的。
我也不知道哪里出问题了,你加我QQ:753258889  。我远程帮你看看吧。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-19 10:40:45 | 显示全部楼层
我也出现了这个问题,你解决了吗?求教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-19 11:51:32 | 显示全部楼层
做好自己 发表于 2014-11-19 10:40
我也出现了这个问题,你解决了吗?求教

  准备今天中午,再去次实验室一趟看看有没有其它的解决办法。弄好了的话,我来找你讨论下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-19 11:54:50 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-18 23:45
我也不知道哪里出问题了,你加我QQ:753258889  。我远程帮你看看吧。

  山外哥,谢谢你这么耐心来看我这新手的问题,我再去试试,如果还不行的话,小弟再来麻烦你一趟了。
回复 支持 反对

使用道具 举报

发表于 2014-11-20 14:22:48 | 显示全部楼层
落落墨 发表于 2014-11-19 11:51
准备今天中午,再去次实验室一趟看看有没有其它的解决办法。弄好了的话,我来找你讨论下。

解决了吗,楼主
回复 支持 反对

使用道具 举报

发表于 2014-12-28 23:23:13 | 显示全部楼层
哥们,解决了么,,我现在也遇到这种情况,麻烦传授下经验,,,
回复 支持 反对

使用道具 举报

发表于 2015-4-12 00:20:25 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-18 23:45
我也不知道哪里出问题了,你加我QQ:753258889  。我远程帮你看看吧。

山外哥,最后是怎么解决的啊,我也遇到这个问题了
回复 支持 反对

使用道具 举报

发表于 2015-4-12 08:56:29 | 显示全部楼层
DMA的优先级低了吧
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-4-15 20:48:41 | 显示全部楼层
TX,RX,在哪修改
回复 支持 反对

使用道具 举报

发表于 2015-4-15 23:48:47 | 显示全部楼层

山外K60 串口输出问题,printf输出问题 - 智能车资料区 - 山外论坛 http://vcan123.com/forum.php?mod=viewthread&tid=22&ctid=1


回复 支持 反对

使用道具 举报

发表于 2016-1-17 15:18:19 | 显示全部楼层
请问一下  你们是怎么解决的?  我们好像遇到一样的问题
回复 支持 反对

使用道具 举报

发表于 2016-5-25 23:14:08 | 显示全部楼层
楼主,怎么解决的
回复 支持 反对

使用道具 举报

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

本版积分规则

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