注册 登录
查看: 367|回复: 4

[鹰眼] 摄像头采集图像卡住

[复制链接]
发表于 2014-12-16 21:33:37 | 显示全部楼层 |阅读模式
鹰眼摄像头采集图像发送到上位机时,程序总会卡到这个函数的绿色地方,这是怎么回事呢?
void dwt_delay_us(uint32 us)
{
    uint32 st,et,ts;
    DEMCR            |=  DEM_CR_TRCENA_MASK;        //使能 调试时钟 (默认已经打开)
    DWT_CTRL         |=  DWT_CTRL_CYCCNTENA;

    st = DWT_CYCCNT;
    ts =  us * (DWT_CLK_HHZ /(1000));
    et = st + ts;
    if(et < st)
    {
        //溢出,需要转动一周
        while(DWT_CYCCNT > et);      //等待 DWT_CYCCNT 溢出 返回0
    }

   while(DWT_CYCCNT < et);      //等待 DWT_CYCCNT 到底计数值
}

回复

使用道具 举报

发表于 2014-12-16 22:03:09 | 显示全部楼层
可以换新版本的代码,或者参考下面的帖子:

程序总停在while(DWT_CYCCNT < et); - 智能车讨论区 - 山外论坛 http://vcan123.com/forum.php?mod ... tid=2407&ctid=1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-17 20:32:03 | 显示全部楼层
为什么我用杜邦线连接摄像头,将图像发送到上位机,图像显示一会就会卡在
    //等待发送缓冲区空
    while(!(UART_S1_REG(UARTN[uratn]) & UART_S1_TDRE_MASK));
用新版本的代码也一样。
回复 支持 反对

使用道具 举报

发表于 2014-12-17 21:23:32 | 显示全部楼层
做好自己 发表于 2014-12-17 20:32
为什么我用杜邦线连接摄像头,将图像发送到上位机,图像显示一会就会卡在
    //等待发送缓冲区空
    w ...

这个是串口发送数据。
串口的波特率限制,导致发送速度很慢,就是你看到的卡
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-17 21:39:07 | 显示全部楼层
仰逸致 发表于 2014-12-17 21:23
这个是串口发送数据。
串口的波特率限制,导致发送速度很慢,就是你看到的卡

那为什么刚开始图像不卡呢?现在波特率已经115200了,还要在调高吗?

回复 支持 反对

使用道具 举报

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

本版积分规则

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