OpenMV接收stm32单片机数据

这篇具有很好参考价值的文章主要介绍了OpenMV接收stm32单片机数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本篇文章将会分享如何用OpenMV接收到stm32单片机传来的数据。

一、连线

OpenMV stm32
p4 PA3
p5 PA2
GND GND

二、程序源码

1.OpenMV源码

代码如下(示例):

import sensor, image, time
from pyb import UART

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
clock = time.clock()

rx_buff=[]
state = 0
tx_flag = 0

uart = UART(3, 115200, timeout_char=1000)

#串口接收函数
def Receive_Prepare(data):
    global state
    global tx_flag
    if state==0:
        if data == 0x0d:#帧头
            state = 1
        else:
            state = 0
            rx_buff.clear()
    elif state==1:
        rx_buff.append(data)
        state = 2
    elif state==2:
        rx_buff.append(data)
        state = 3
    elif state == 3:
        if data == 0x5b:
            tx_flag = int(rx_buff[0])
            state = 4
    else:
        state = 0
        rx_buff.clear()

while(True):
    clock.tick()
    img = sensor.snapshot()
    if(uart.any()>0):
       c=uart.readchar()
       Receive_Prepare(c)
       print(c)

2.32单片机源码

代码如下(示例):

#include "sys.h"
#include "usart2.h"
#include "delay.h"

u8 send_buff[2] = {1,1};

void Usart2_Sendata()
{	
	u8 i = 0;
	
	USART_SendData(USART2,0x0d);
	while( USART_GetFlagStatus(USART2,USART_FLAG_TC)!= SET);
	
	for(i = 0;i < 2;i++)
	{
		USART_SendData(USART2,send_buff[i]);
		while( USART_GetFlagStatus(USART2,USART_FLAG_TC)!= SET);
	}

	USART_SendData(USART2,0x5b);
	while( USART_GetFlagStatus(USART2,USART_FLAG_TC)!= SET);
}

int main(void)
{  	
	delay_init();
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 
	uart2_init(115200);
	while(1)
	{
		Usart2_Sendata();
	}
}

三、运行效果

openmv接收数据,OpenMV,stm32f103单片机,单片机,stm32,嵌入式硬件

总结

本篇文章分享了博主在准备电赛期间所写的OpenMV接收stm32单片机传来的数据OpenMV程序和stm32单片机程序,有不足之处,还请斧正!
完整工程源码文章来源地址https://www.toymoban.com/news/detail-617182.html

到了这里,关于OpenMV接收stm32单片机数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F407单片机HAL库CAN2不能接收数据解决方法

      最近在使用stm32F407的片子调试can通信,直接在正点原子的代码上修改调试,调试can1的时候,基本没啥问题,收发都正常,使用查询模式和中断模式都可以。但是当修改到can2的时候,可以正常发送数据,但是中断函数始终进不去。折腾了一两个小时终于搞定了。下面将解

    2024年02月16日
    浏览(31)
  • stm32与openmv的相互发送与接收(基于标准库)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、硬件连接 二、数据包传输 三、openmv发送stm32端接收 1.openmv端(发送函数) 2.stm32端(接收函数) 串口中断服务函数: 数据读取函数: 数据处理函数:  main函数oled屏幕

    2024年02月17日
    浏览(25)
  • STM32单片机(九)USART串口----第四节:USART串口实战练习(串口发送+接收)

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月10日
    浏览(34)
  • openmv与stm32串口通信数据传输

    在openmv与stm32数据传输过程中遇到了奇怪的问题。 先说明我遇到的问题,后面又源码。 若发现问题-------或者有什么想法-------还望指教!!! 我的目的: openmv矩形识别,获取中心点坐标,通过串口发给stm32接受数据 我在main函数中,将存放的数据打印出来,然而并没有。如图

    2024年02月15日
    浏览(33)
  • 基于OpenMV与STM32的数据通信项目(代码开源)

    前言: 本文为手把手教学   OpenMV 与 STM32 的数据通信项目 教程,本教程使用  STM32F103C8T6 与 OpenMV 进行操作。 OpenMV 是非常强大的计算机视觉实现工具,自身提供了非常多的视觉项目案例,编程与使用门槛极低。为了进一步增强作品的功能与创意性,往往需要将 OpenMV 的视觉与

    2024年02月02日
    浏览(39)
  • 关于openmv与stm32通信数据传输遇到的问题

      遇到smt32与openmv无法通信,或者数据对不上。 上面的是openmv端发给stm32端的数据 %c4 b‘  ’:是stm32打印接收到的数据  逐个排查: openmv与pc端串口助手正常发收。stm32与pc端也可以正常发,但是接收数据的时候不能正常接收。 利用LED灯debug。   确定问题出在stm32端的中断服

    2024年02月15日
    浏览(21)
  • 使用STM32CubeProgrammer工具读取单片机Flash数据读取

    本文主要介绍,如何使用STM32CubeProgrammer工具读取和写入单片机Flash内部的数据,方便调试使用。 2.1 连接Stlink和单片机,点击“connect”进行连接 2.2 读取固定长度的数据 根据程序的大小,设置需要读取的字节数,如下图所示。点击“read”将单片机Flash中的数据读取到STM32Cube

    2024年02月12日
    浏览(29)
  • esp32单片机在arduino环境下,串口接收解码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 当主控芯片发送一串数据,但此数据为一串字符串,需要将此字符串翻译成整型数组,以形成指令,控制串口屏。 例如:esp32单

    2024年02月09日
    浏览(29)
  • 在STM32上实现一个数据采集和存储系统(单片机软件与硬件)

    1. 硬件选择: 选择合适的STM32系列微控制器,根据采集数据的要求选择处理器型号和性能。同时,根据需要考虑外设模块,如ADC、SPI、I2C等。 2. 连接传感器: 根据需要选择合适的传感器,并将传感器与STM32的相应引脚连接。注意检查引脚的电平和电流要求,确保接口匹配。

    2024年02月03日
    浏览(38)
  • 【STM32+OPENMV】矩形识别

    有关OPENMV最大色块追踪及与STM32通信内容,详情见【STM32+HAL】与OpenMV通信 1、芯片:STM32F103C8T6 2、CUBEMX配置软件 3、KEIL5 4、OPENMV 寻找黑色矩形,并将最大矩形的四个边缘坐标发送给STM32 1、寻找最大的矩形,并沿矩形边框绘制线条 2、完整通信+识别代码 【STM32+OPENMV】矩形识别资

    2024年03月15日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包