关于STM32+Ov7670+电脑显示的问题,涉及串口、USB等

2019-07-21 08:10发布

我参考的是原子哥实验36 摄像头实验的代码,主要需要实现的功能是STM32从OV7670采集一帧的数据,在接到电脑发来的信号后,再将数据传送到电脑并显示。电脑端用PySerial或PyUSB(Python的两种不同传输方法)进行读写,先给板子写一个值(作为STM32发送数据的触发装置),再读取(循环接收)每个像素的RGB值,最后把每个像素显示出来得到完整的一帧图像
问题:
1.我尝试过用printf 串口发送一帧数据,但是需要320*240*2 bytes,数据量大,传输速度不够,经常一发送就导致串口接收的python程序死机。
2.例程里用的是直接将一帧数据输出到液晶屏,我想用个全局buffer[76800][3]存储每个像素的rgb分量以取保电脑给信号后接收到的是同步好的完整的一帧图像,但是老报内存不足的问题,用的板子是STM32F103ZE,Program memory 512K,RAM 64K。
3.最近在看DMA的例程,网上有说这个能提高串口传输速度,如果我用DMA的send_buffer做一帧的存储,可行吗?
4.之前企图用USB协议(电脑端用PyUSB做接收程序)传输一帧图像,但是没太明白STM32上是如何发送数据的……是说只需要指定好buffer的具体位置,电脑上给出端点、命令等信息就行吗?电脑端如何知道从板子的哪个地址(指定的buffer位置)读取所需数据呢?跪求USB相关例程,标准例程里有可参考的不?还是说我应该直接弃了USB这种方法?

唉,最近这些问题真是太头疼了,拜谢大家了先!m(_ _)m

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
草野晶
1楼-- · 2019-07-23 05:46
回复【13楼】正点原子:
---------------------------------
在战舰的板子上运行后终于能出图像啦~不过不知道为什么出来的是黑白的。。。传回来的RGB数据就是黑白的。。。
难道说跟u16有关?


  u16 color,color1,color2;
u16 r,g,b;  
if(ov_sta==2)
{
LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右 
LCD_SetCursor(0x00,0x0000); //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM
OV7670_RRST=0; //开始复位读指针 
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束 
OV7670_RCK=1; 
for(j=0;j<76800;j++)
{
OV7670_RCK=0;
color1=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1; 
color=color1;
color<<=8;  
OV7670_RCK=0;
color2=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1;
color|=color2;
LCD->LCD_RAM=color;
// printf("%d,",color1);
// printf("%d ",color2);
r= color1 & 0xF8;
g=((color1 &0x07 )<<3 | (color2 & 0xe0 ) >>5 ) << 2;
b=(color2 & 0x1f )<<3;
printf(",%d,%d,%d, ",r,g,b);

    
}
nanyechenxing
2楼-- · 2019-07-23 10:59
 精彩回答 2  元偷偷看……
草野晶
3楼-- · 2019-07-23 12:25
回复【15楼】nanyechenxing:
---------------------------------
出来了,不过速度慢,得等一阵子才能收集完所有数据
Gops
4楼-- · 2019-07-23 17:22
回复【16楼】草野晶:
---------------------------------
楼主调试成功了么,我也想在PC显示,跪求分享经验。
亲王艾德瑞
5楼-- · 2019-07-23 21:44
回复【16楼】草野晶:
---------------------------------
我也想在PC上显示,只是不知从何处入手。
萝卜
6楼-- · 2019-07-24 02:46
回复【18楼】亲王艾德瑞:
---------------------------------
请问你关于传输图像到PC显示有什么可行方案了吗

一周热门 更多>