求助,关于16位小摄像头头的问题

关于MT9V032小摄像头头它的输出数据囿10位的数据,我看了N久都弄不明白这10位数据是什么意思手册看了半天也没看出来。。

以前用OV系列一般都是8位输出如果是RGB565的话,刚好兩次输出组成16位

但是MT9V这个10位输出的, 不知道怎样组成一个颜色点啊。总感觉手册上没讲一样。。

请知道的友友告诉下非常谢谢!


IDR是一个32位的寄存器高16位用不到,用到的只是低16位

RGB565是16位的数据第一次传输的是高字节,第二次传输的是低字节在硬件上我们用的是


PB8~PB15来接收数据,所以每次传输的数据嘟是在IDR这个寄存器的高字节所以通过C语言的
&运算取出相应的数据就可以了,有效的数据与1&无效的数据与0&。

第一次传输的是小摄像头头數据的高8位放到的是IDR寄存器的高8位,读出来后放到RGB565这个变量的高8位

第二次传输的是小摄像头头数据的低8位因为等下要放到RGB565这个变量的低8位去,所以IDR高8位接收到的 PB4~PB11那么就把要&运算的值改一下就可以了,PB4~PB11全部置1其他位置全部置0
这些只是C语言的问题而已。

有效的数据位置1无效的数据位置0,然后进行&操作即可

要注意的是第二次获取低8位数据的时候只要右移4位就可以了,如果是PB5~PB12那么只要右移3位就可以了。

如果PA占4个口PB占4个口,的话实现也是可以的但是比较麻烦,也没啥意义最好就在一个端口上

具体带代码你自个倒腾吧,我这里就不給你演示了上面我已经讲了原理了,还有啥不懂的你再跟帖提问

我要回帖

更多关于 摄像头 的文章

 

随机推荐