外接STM32单片机通过串口控制OPENMV拍照并储存到SD卡?
-
本人初学者,有C语言编程经验,想通过外接STM32单片机为OPENMV供电,通过串口发送指令控制OPENMV拍照并储存到SD卡中。因为外接单片机供电,所以不与电脑连接,也就用不到OPENMV IDE。
所以,我应该发送什么指令控制其拍照并储存到SD卡中呢?此时,python应该无法使用了吧,我要用C语言编程,是否需要找源码中对应的代码?希望得到一个解决方案。感谢各位大佬!
-
直接stm32 发送一个OK/r/n,字符串
然后OpenMV 上用python 编程,当读到OK/r/n字符串的时候,就保存到SD卡。
-
意思是,在OPENMV IDE中编程完下载运行后,再断电接到32上电后,程序依然在执行是么?
-
OpenMV 可以脱机运行的,上电就运行main.py
来自星瞳实验室APP: OpenMV脱机运行 https://singtown.com/learn/49976/
你在调试的时候,完全可以[OpenMV 的USB,STM32 的USB]都连接电脑。
-
好的,我试试,谢谢你!有问题再问你!
-
@kidswong999
我按你说的将两个都连到电脑了,为了检验其是否接受到32发送的字符串写了代码如下:
import time
from pyb import UARTuart = UART(3, 9600, timeout_char=1000)
while(True):
if uart.any():
a = uart.readline().decode()
print(a)
目的显示其接收到的字符串。单独测试单片机没有问题发送“OK”,但是IDE上不显示。
接线:32使用USART2发送接收,TX2为PA2,RX2为PA3,OPENMV上串口RX为P0,TX为P1
所以PA2接P0,PA3接P1,还有一根线共地。接线如图:
想问一下,问题出在哪里?与上面UART里的3有关么?
-
UART 3是p4p5口
-
恩,笨死了,调出来了!
if a = "OK\r\n"
sensor.snapshot().save("example1.jpg")
我又加了一句判断,但是显示语法错误。是不是不能这样判断呀。
-
新的问题,请单独发帖子。
附上全部的代码。
-
UART Control
This example shows how to use the serial port on your OpenMV Cam. Attach pin
P4 to the serial input of a serial LCD screen to see "Hello World!" printed
on the serial LCD display.
import time
from pyb import UARTAlways pass UART 3 for the UART number for your OpenMV Cam.
The second argument is the UART baud rate. For a more advanced UART control
example see the BLE-Shield driver.
uart = UART(3, 19200, timeout_char=1000)
while(True):
if uart.any():
a = uart.readline()
if a == "OK\r\n"
sensor.snapshot().save("example1.jpg")
查了一下好像不能直接判断,应该如何判断接收的字符串呢?
-
新的问题,单独发帖子。