首页 新闻 会员 周边

程序下载到s ram,cap接口正常运行,下载到spi nend ,cap接口就无法运行,其他正常运行

0
悬赏园豆:200 [待解决问题]

使用新塘nuc980 开发板,用ov2640 取得图像 。
i2c也有类似情况 ,摄像头有2个上拉电阻,开发板也有2个上拉电阻,如果不拿下2个 spi nend 也无法正常运行,但是不拿下来程序下载到 ram 里面是可以正常运行的。

sunhr747的主页 sunhr747 | 初学一级 | 园豆:2
提问于:2023-10-09 09:50
< >
分享
所有回答(1)
0
void PacketFormatDownscale(void){
    // 启用 CAP0 的中断
    CAP_EnableInt(CAP0, CAP_INT_VIEN_Msk);
    
    printf("Setting vertical sync polarity, Hsync polarity, pixel clock polarity, sensor format and order\r\n");
    // 打开 CAP0 ,设置 OV2640 相机的极性、格式和顺序
    CAP_Open(CAP0, OV2640SensorPolarity/OV2640DataFormatAndOrder, CAP_CTL_PKTEN); 

    // 设置裁剪窗口的垂直/水平起始地址和裁剪窗口的大小
    CAP_SetCroppingWindow(CAP0, 0, 0, SENSOR_IN_HEIGHT, SENSOR_IN_WIDTH);

    // 设置系统内存包基地址寄存器
    CAP_SetPacketBuf(CAP0, (uint32_t)u8FrameBuffer);

    // 设置数据包缩放的垂直/水平因子寄存器
    CAP_SetPacketScaling(CAP0, SYSTEM_HEIGHT, SENSOR_IN_HEIGHT, SYSTEM_WIDTH, SENSOR_IN_WIDTH);

    // 设置数据包帧输出像素跨距宽度
    CAP_SetPacketStride(CAP0, SYSTEM_WIDTH);

    // 开始图像捕获接口
    printf("Working in CAP interrupt\r\n");
}

这个函数看起来是为了配置图像采集接口(CAP Interface)并启动。如果你在下载到spi nend时遇到问题,可能的原因之一是 spi nend和cap接口之间存在某种冲突,或者你的系统没有足够的资源来同时处理这两个操作。
可以尝试以下几种方法:

  1. 检查cap接口和spi nend是否有共享资源的冲突。
  2. 在开始另一项操作之前确保之前的操作已完成。
  3. 如果可能,尝试优化你的代码以减少内存使用。
  4. 确保你正确配置了接口和设备。
npe0 | 园豆:1299 (小虾三级) | 2023-12-12 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册