注册 登录
查看: 408|回复: 10

[摄像头组] 自己写的采集OV7620的程序出现了以下问题

[复制链接]
发表于 2014-9-22 22:14:54 | 显示全部楼层 |阅读模式
当程序下载后出现调试界面之后“单步执行、步进、步出”那一排调试用的按钮是灰色的,只有那个红色的break按钮可以点。正常情况下当程序下载完毕后这些按钮是都可以点击的,但是现在这个程序一下载后立刻就是灰色的不能单击。然后我点了那个红色的break后再点复位,程序不会像往常那样执行到主函数里面,而是再次所有按钮都变成灰色了,我重新点break后单步执行,发现程序最终停在了start_check这个函数里面,进去后发现程序在两个if语句之间来回跳换,成了死循环一直出不来,这种情况是怎么回事啊?start_check函数如下:程序最终是死在了while(1)里面的那两个if语句中
void start_check()
{
    uint8 flag = 0;

    key_init(KEY_A);

    if(key_check(KEY_A) == KEY_DOWN )
    {
        //按键按下

        led_init(LED0);

        while(1)
        {

            if(key_check(KEY_A) == KEY_UP)
            {
                flag = 1;
            }

            led_turn(LED0);
            printf("\n进入死循环等待!");
            DELAY_MS(500);                          //此处的延时,可起到 按键 消抖的功能

            //如果 送开按键后,再按下 按键,则 进行解锁 操作
            if((flag == 1)  && (key_check(KEY_A) == KEY_DOWN ))
            {
                while(key_check(KEY_A) == KEY_DOWN)         //等待按键 弹起
                {
                    led_turn(LED0);
                    DELAY_MS(100);                          //此处的延时,可起到 按键 消抖的功能
                }

                while(key_check(KEY_A) == KEY_UP)         //等待按键 弹起后 再 进行解锁
                {
                    led_turn(LED0);
                    DELAY_MS(50);                          //此处的延时,可起到 按键 消抖的功能
                }

                printf("\n进行解锁操作,请重新刷入固件");

                //解锁单片机
                flash_init();
                DELAY_MS(100);
                flash_erase_sector(0);        //擦除扇区 0  (解锁)
                NVIC_SystemReset();           //复位单片机

            }
        }
    }
}

回复

使用道具 举报

发表于 2014-9-22 22:16:50 | 显示全部楼层
估计你用到了独立按键的管脚。

K60 的新版代码开机长按那个独立按键,LED闪烁问题。 - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... tid=1321&ctid=1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-23 00:35:41 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-22 22:16
估计你用到了独立按键的管脚。

K60 的新版代码开机长按那个独立按键,LED闪烁问题。 - 智能车讨论区 -  ...

应该不是吧,我的板子上除了复位键没有独立按键的。我的采集程序是仿照别人的写的,别人写的采集程序是用的野火旧版的库,我就想试着移到新版库里,数据和中断的接线都是一模一样的,但是别人的程序下载进去直接就可以用,我移植后就出现了这种情况了
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-23 00:37:11 | 显示全部楼层
六步上篮 发表于 1411403741
应该不是吧,我的板子上除了复位键没有独立按键的。我的采集程序是仿照别人的写的,别人写的采集程序是用的野火旧版的库,我就想试着移到新版库里,数据和中断的接线都是一模一样的,但是别人的程序下载进去直接就可以用,我移植后就出现了这种情况了
我们的例程配套我们的核心板,带了独立按键来解锁功能,你按照帖子来取消检测按键就好。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-23 00:45:20 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-23 00:37
我们的例程配套我们的核心板,带了独立按键来解锁功能,你按照帖子来取消检测按键就好。

你的意思是我的板子锁死了吗?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-23 00:46:38 | 显示全部楼层
六步上篮 发表于 1411404320
你的意思是我的板子锁死了吗?
不是,是叫你该代码。

你认真看一下我发给你的链接,2楼的帖子
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-23 00:54:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-23 00:46
不是,是叫你该代码。

你认真看一下我发给你的链接,2楼的帖子

链接看了下没完全理解,明天晚上修改试试。是不是需要改的那几行代码在旧库里没有?所以那几行代码是最终的问题所在?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-23 00:54:51 | 显示全部楼层
六步上篮 发表于 1411404854
链接看了下没完全理解,明天晚上修改试试。是不是需要改的那几行代码在旧库里没有?所以那几行代码是最终的问题所在?
你按照那方法修改就好。这部分代码是新库才有的
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-23 00:59:37 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-23 00:54
你按照那方法修改就好。这部分代码是新库才有的

那就好。还有最后一个问题哈,我用新版库也自己写过几个其他模块的程序,比如AD和外部终端,没有改你说的那几行代码,程序也都没问题,但是为啥这个程序会需要这样改呢?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-23 01:00:25 | 显示全部楼层
六步上篮 发表于 1411405177
那就好。还有最后一个问题哈,我用新版库也自己写过几个其他模块的程序,比如AD和外部终端,没有改你说的那几行代码,程序也都没问题,但是为啥这个程序会需要这样改呢?
因为你摄像头用到的管脚,跟我们的例程有冲突,所以需要改掉
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-23 01:05:24 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-23 01:00
因为你摄像头用到的管脚,跟我们的例程有冲突,所以需要改掉

明白了,谢谢山外哥这么晚了帮我解答问题,非常感谢!!早点休息咯,明天一天课
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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