关于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条回答
liuqq7419
1楼-- · 2019-07-24 19:50
谢谢楼主分享,这个探讨交流太有用了!
陌上_花开
2楼-- · 2019-07-24 23:59
楼主您好,请问上位机用的是什么呀?也在搞这个
雪千寻
3楼-- · 2019-07-25 05:26
楼主,,你做出来没。。感觉太难了弄了好久好没弄好
wyu123
4楼-- · 2019-07-25 05:45
楼主您好,可以发个上位机软件么
ahnuSunhao
5楼-- · 2019-07-25 08:20
 精彩回答 2  元偷偷看……

一周热门 更多>