【arduino】 arduino与openmv的简单串口通信

这篇具有很好参考价值的文章主要介绍了【arduino】 arduino与openmv的简单串口通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

.

.

openmv代码:

from pyb import UART


uart = UART(3,9600)   #定义串口3变量(openmv上的串口P4 TX、 P5  RX对应串口3)
uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters

while(True):
    if uart.any(): #如果有信息
        B = uart.read()#读取二进制码
        print(B)
        if B==b'1':#如果二进制码是字符‘1’的二进制码
            print("1")
            uart.write("12")

arduino端代码:使用的是mega2560

void setup() {
  //Serial.begin(9600);//UART0:对应引脚RX(0),TX(1)
  //Serial1.begin(9600);//UART1:对应引脚RX(19),TX(18)
  //Serial2.begin(9600);//UART2:对应引脚RX(17),TX(16)
  Serial3.begin(9600);//连接openmv,对应引脚UART3:RX(15),TX(14)
  //这里与openmv连接的是UART3,尽量不要用UART0.因为烧录程序的时候用的
  //也是uart0,如果你占用了的话就会烧录不了程序,得将连接openmv的线断开
  //才可以上传程序。
  //openmv的TX连接arduino的RX,openmv的RX连接arduino的TX
}

void loop() {
  int inData1,inData2,inData3;
  
  while(Serial3.read()>=0);//清除缓存
  
  Serial3.write(0x31);//发送开启指令(二进制的字符1,ASCII码为49)
  
  while(Serial3.available()==0);//等待信号传输
  //返回缓冲区可读取的字节数
  if(Serial3.available())//接收到openmv发来的字符串
  {
    
    
    inData1=Serial3.read();//inData1=49(字符1)
    inData2=Serial3.read();//inData2=50(字符2)
    inData3=Serial3.read();//inData3=-1(无数据)
    //Serial3.read();每次只读取一个字符,没有数据时返回-1

    while(Serial3.read()>=0);//清除缓存区数据
  }
}

注意:连接openmv和arduino的时候要共地才能正常收发信息。文章来源地址https://www.toymoban.com/news/detail-630173.html

到了这里,关于【arduino】 arduino与openmv的简单串口通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • stm32f103与openmv串口通信

    串口通信是指通过串行通信接口进行数据传输的一种通信方式。在串口通信中,数据被分成一个个的字节,按照一定的顺序依次发送和接收。串口通信通常使用UART(通用异步收发传输)协议进行数据传输。 串口通信在嵌入式系统中应用非常广泛,其主要用途包括: 调试和监

    2024年02月13日
    浏览(47)
  • 【嵌入式】openmv与stm32的串口通信

    参考:(文中部分图/文字/代码来自以下文章,部分内容由于时间久远已经找不到原作者,可联系注明或删除) PYTHON串口数据打包发送STM32接收数据解析 openmv中文文档 这里以openmv循迹代码为例 main.py 关于struct.pack: 函数原型:struct.pack(fmt, v1, v2, …) fmt是格式字符串 v1,v2是要转

    2024年02月14日
    浏览(39)
  • UART 串口通信

    第18.1讲 UART串口通信原理讲解_哔哩哔哩_bilibili 并行通信 一个周期同时发送8bit的数据,占用引脚资源多 串行通信 串行通信的通信方式: 同步通信 同一时钟下进行数据传输 异步通信 发送设备和接收设备的时钟不同 但是 需要约束波特率 (1s内传输的bit数) 串行通信的传输方

    2024年02月02日
    浏览(42)
  • 串口通信(UART)

    串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。 51单片机

    2024年02月07日
    浏览(42)
  • UART串口通信

    串口是“串行接口”的简称,即采用串行通信方式的接口。串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送,其特点是通信线路简单,但传输速度较慢。因此串口广泛应用于嵌入式、工业控制等领域中对数据传输速度要求不高的场合。 Serial communication是一个

    2024年02月10日
    浏览(30)
  • UART串口通信实验

    不管是单片机开发还是嵌入式 Linux 开发,串口都是最常用到的外设。 可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序。 还有很多模块,比如蓝牙、GPS、GPRS等都使用串口与主控进行通信。 串口全称串行接口,通常也叫做COM接口,,串行接口指

    2024年02月08日
    浏览(52)
  • UART串口通信(回环测试)

            UART(Universal Asynchronous Receiver-Transmitter)是采用异步串行通信方式的通用异步收发传输器,在发送数据时将并行数据转换为串行数据,在接收数据时将串行数据转换为并行数据。发送和接收的一帧数据由起始位、数据位、奇偶校验位和停止位组成,其数据帧格式如

    2024年02月05日
    浏览(55)
  • UART串口通信协议

    串行通信分为两种方式: 同步串行通信 和 异步串行通信 。 同步串行通信需要通信双方在同一时钟的控制下,同步传输数据。 异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一种 全双

    2024年02月03日
    浏览(36)
  • Openmv识别Apriltag码并与stm32进行串口通信

            本文使用带有独立处理图像模块的摄像头Openmv进行Apriltag码的识别,并将Openmv与stm32进行串口通信,将Apriltag码的ID、中心位置相对于Openmv摄像头中心坐标的偏移量、以及Apriltag码相对于Openmv镜头的距离通过串口通信传输给stm32。         接线图Openmv通过电脑USB口

    2024年04月27日
    浏览(36)
  • Verilog(1)UART串口通信

    第一部分为uart串口通信的接收部分,用pc端虚拟串口来对其发送数据。 第三部分为uart串口通信的发送部分,用此部分对pc端虚拟串口发送数据。 第二部分loop,处理数据,形成回环,使发送部分有数据来源,以此来保证实验的完成。 串口接收 :  输入: sys_clk、sys_rst_n、u

    2024年02月03日
    浏览(78)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包