2440 摄像头问题

宇帆 2009-10-31 04:03:56
temp = (s2440CAM->CIPRSTATUS>>26)&3;
temp = (temp + 2) % 4;//为什么要这样做呢?

switch (temp)
{
case 0: //10
buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA1;//RGB 1st frame start address for preview DMA
break;
case 1: //11
buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA2;//RGB 2st frame start address for preview DMA
break;
case 2: //00
buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA3;//RGB 3st frame start address for preview DMA
break;
case 3: //01
buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA4;//RGB 4st frame start address for preview DMA
break;
default :
buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA1;//RGB 1st frame start address for preview DMA
break;


CIPRCLRSA1 CIPRCLRSA2 CIPRCLRSA3 CIPRCLRSA4 到底有啥关系呢,整的我有点晕了,请高手帮忙
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooogleman 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cfanlwn 的回复:]
我也发现发是 连续用的,比如我用的是320*240的  CIPRCLRSA1 里面存放地址的地址+320*240*2=CIPRCLRSA12  依次类推  四个轮询取数据,这就是2440规定的了,是吧

那这个问题呢?
temp = (s2440CAM->CIPRSTATUS>>26)&3;
temp = (temp + 2) % 4;//为什么要这样做呢?
[/Quote]

貌似我的和你的不一样啊。
宇帆 2009-11-01
  • 打赏
  • 举报
回复
我也发现发是 连续用的,比如我用的是320*240的 CIPRCLRSA1 里面存放地址的地址+320*240*2=CIPRCLRSA12 依次类推 四个轮询取数据,这就是2440规定的了,是吧

那这个问题呢?
temp = (s2440CAM->CIPRSTATUS>>26)&3;
temp = (temp + 2) % 4;//为什么要这样做呢?
gooogleman 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cfanlwn 的回复:]
可以随便设置吗?那CIPRCLRSA1 CIPRCLRSA2  CIPRCLRSA3 CIPRCLRSA4 到底有啥关系呢?
[/Quote]

他相当于连续运转的存储器的,一帧一帧的,

如果只用一帧,那2440 会丢失数据的了
宇帆 2009-10-31
  • 打赏
  • 举报
回复
可以随便设置吗?那CIPRCLRSA1 CIPRCLRSA2 CIPRCLRSA3 CIPRCLRSA4 到底有啥关系呢?
hitszj604 2009-10-31
  • 打赏
  • 举报
回复
没关系,取不同的帧罢了

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧