OpenMV与单片机串口通信交互

示例器件:

  • OpenMV
  • 英飞凌TC264单片机

简介

  • OpenMV与TC264虽然都可以作为单独的微控制器来使用,但OpenMV是集成了摄像头的控制器,专门用于摄像头识别等作用,涉及到大量运算时,其性能、内存自然就不太够看
  • 而单片机其多用于控制、计算、通信等功能,性能优秀,内存充足
  • 所以一般使用OpenMV和单片机搭配使用,OpenMV识别,通过串口将信息传给单片机,单片机依靠强大的性能进行运算

采用串口通信

串口通信想必大家都知道,这里就不多赘述了,如果有不了解的可以看我的往期文章【STM32】HAL库 CubeMX例程三—串口中断通信(2)(附工程源码)

一、 OpenMV

首先找到OpenMV的串口(图:星瞳科技)

  • P4(Tx):发送端
  • P5(Rx):接收端

接着打开OpenMV IDE,写入代码

from pyb import UART
uart = UART(3, 19200)

#发送Hello World!
while(True):
    uart.write("Hello World!\r")

二、 TC264

  • P14_0(Tx):发送端
  • P14_1(Rx):接收端

写入以下代码

uint8 uart_buff;

int core0_main(void)
{
	get_clk();//获取时钟频率  务必保留
	//用户在此处调用各种初始化函数等
	gpio_init(P20_8,GPO,0,PULLUP);//初始化灯,亮
    uart_init(UART_0, 19200, UART0_TX_P14_0, UART0_RX_P14_1);     //初始化串口

	IfxCpu_emitEvent(&g_cpuSyncEvent);
	IfxCpu_waitEvent(&g_cpuSyncEvent, 0xFFFF);
	enableInterrupts();
	
	while (TRUE)
	{
	    if(uart_query(UART_0, &uart_buff))
	    {
	    	//如果从串口收到“Hello World!”,将灯关闭
	        if(uart_buff == 'Hello World!')
	        {
	            gpio_set(P20_8,1);
	        }

	    }

    }

}

将单片机与OpenMV连线

  • P14_0(Tx)——P5(Rx)
  • P14_1(Rx)——P4(Tx)

运行如下

当OpenMV烧录代码后,立即发送了“Hello World!”,单片机接收到“Hello World!”,立即将灯关闭

在这里插入图片描述

版权声明:本文为CSDN博主「Q大帅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Qxiaofei_/article/details/121309687

生成海报
点赞 0

Q大帅

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于STM32的室内环境监测系统

设计简介: 本设计是基于单片机的室内环境监测器,主要实现以下功能: 可实现LCD1602显示环境数据实时监测一氧化碳、甲烷、烟雾值空气质量大于各自限值报警,并通过TTS报警 标签&#x

基于stm32f407的示波器

一.设计要求 二.整体思路 硬件部分主要负责电压的缩放以及垂直灵敏度的控制,因为stm32的大部分引脚最高输入电压为3.3v,而要求的电压需要50v,需要进行电压缩放。 软件部分主要负责方波的实现&#x

实验一 stm32F407VETx点亮流水灯

二、设计指标 使电路板上的8个LED轮流点亮,并按键控制点亮速度。 三、操作 1、CubeMX操作 1.1依据开发板LED引脚设置CubeMX中8个LED的引脚为GPIO_Output模式, 2、按键设置