【嵌入式】OpenMV与单片机串口通信交互

本文探讨了如何将OpenMV摄像头模块与英飞凌TC264单片机通过串口连接,实现OpenMV的图像识别结果传递给单片机进行高级运算。通过实例展示了OpenMV的串口配置和代码,以及TC264的初始化和通信处理,突出了两者优势互补的应用场景。
摘要由CSDN通过智能技术生成

示例器件:

  • 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!”,立即将灯关闭

在这里插入图片描述

  • 12
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
OpenMV是一款高度集成的视觉开发板,而K60则是一款32位嵌入式微控制器。要实现OpenMV与K60之间的串口通信,可以按照以下步骤进行: 首先,需要在OpenMV配置串口通信。打开OpenMV IDE,选择“工具”菜单下的“串口”选项。确定串口的波特率、校验位、数据位和停止位等参数与K60的串口设置一致。 然后,在OpenMV的Python脚本中,导入`pyb`模块,该模块提供了对控制器的低级别访问功能。使用`pyb.UART()`函数初始化一个串口对象,并指定串口号和波特率。 接下来,可以使用串口对象的`read()`方法读取K60发来的数据,或者使用`write()`方法向K60发送数据。可以在OpenMV的循环中反复调用`read()`和`write()`方法,实现持续的串口通信。 在K60的代码中,也需要配置串口通信。根据K60的开发环境,选择相应的串口初始化函数,并设置波特率和其他参数与OpenMV一致。使用适当的函数来接收OpenMV发送的数据,并使用相应函数向OpenMV发送数据。 最后,将OpenMV与K60分别连接到电脑,确保串口线连接正确。在OpenMV上运行Python脚本,同时在K60上运行相关代码。如果一切正常,OpenMV和K60之间应该能够成功地进行串口通信。 需要注意的是,串口通信的成功与否不仅取决于硬件连接的正确性,还与软件的配置和代码编写的正确性有关。因此,在实施串口通信之前,建议仔细查阅OpenMV和K60的官方文档,并确保正确配置和编写代码。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值