当前位置:   article > 正文

【嵌入式】OpenMV与单片机串口通信交互_openmv通过串口驱动另一台单片机显示图像

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")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、 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);
	        }

	    }

    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

将单片机与OpenMV连线

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

运行如下

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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/997913
推荐阅读
相关标签
  

闽ICP备14008679号