齐护K210系列教程(五)_与其它主控通信互动

与其它主控通信互动

文章目录

    • 与其它主控通信互动
    • 1,硬件的准备
    • 2,UNO的接收发送程序
    • 3,AIstart的接收发送程序
    • 4,课程资源
  • 联系我们

前面我们了解了AIstart如何通过串口与计算机的交互,那么它是否可以跟其它的主控通过这种方式交互呢? 答案当然是可以的。

这节课我们就来学习AIstart与ArduinoUNO主板的信息互动。

这里我们要引入一个新的串口概念:软串口,通常的硬件自带的串口我们叫硬串口,硬串口的优点是更稳定速度更快,软串口是我们通过软件将其它的GPIO定义为串口,这样方便我们接线应用,但速度有时会差一点,但通常不影响使用,在条件许可时我们尽量用硬串口。

1,硬件的准备

硬件我们以AIstart_Q1 与齐护C01主控(UNO),在C01端我们再接一个按键模块,以更方便的展示其应用功能。

接线方式如图:将C01的P1口(GPIO 10-11) 与Q1的18-19 外接口对接,那么也就是我接在C01上定义串口时要选P1(GPIO 10-11),在Q1上定义串口时就要用18-19 。

按键接在P6(GPIO A2-A3)

2,UNO的接收发送程序

C01

我们首先把C01端的程序写好 ,并加入按钮互动:

程序说明:

发送:我们在C01端按下左按钮主板会通过P1定义的串口发送1到AIstart,按下右时发送0,程序中的等待0.2秒是为了防多次发,这方法可以控制AIstart执行相关动作。

接收:接收到A或B时,板载灯或外接在P3的LED灯会对应的开或关,这方法可以接收AIstart相关指令后执行自己的动作。

注:C01下的软串口内部定义好的了,波特率是9600的,所以跟其它板通信时,要用相同的波特率,同理如下程序时我们要用9600。

3,AIstart的接收发送程序

AIstart Q1

将AIstart端的程序编辑如下:

程序说明:

接收与发送:在C01端按下左按钮主板会通过P1定义的串口发送1到AIstart,这时当收到1 AIstart的红灯亮起,同时返回(发送)一个A给C01,在C01上按下右时发送0到AIstart ,当AIstart收到0时会关闭红灯,同时返回(发送)一个B给C01。

这样的方法,可能通过外部通信来让Aistart 执行动作,并将结果发送出去。

注:

1,定义软串时要注意接对线,TXRX要跟另一个主板交叉对接。

2,程序中的【打印】是直接USB跟电脑端的,同时也是主板上的 GPIO4-5, 在AIstart 掌机上是有直接的端口的,其它是并在扩展口上,如果要用也可以直接当串口用,但这个波特率是115200的要注意,不可以更改! 只有定义软串时才可以定义波特率。

4,课程资源

课程程序下载:【5与其它主控通信互动】

联系我们

扫码或者点这里加群了解更多!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/644052.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】手撕list(list的模拟实现)

目录 01.节点 02.迭代器 迭代器运算符重载 03.list类 (1)构造与析构 (2)迭代器相关 (3)容量相关 (4)访问操作 (5)插入删除 我们在学习数据结构的时候…

面包屑新玩法,ReactRouter+Ant Design实现动态渲染

在Ant Design中,可以通过Breadcrumb组件结合react-router库实现动态生成面包屑导航。具体步骤如下: 定义路由配置数据结构 我们需要在路由配置中添加额外的面包屑相关信息,例如面包屑标题、icon等。例如: const routes [{path: /,breadcrumbName: 首页},{path: /users,brea…

《S32G3系列芯片——Boot详解》持续更新中...

总目录:《S32G3系列芯片——Boot详解》持续更新中... ... 一、前言二、启动时序概述(Boot Sequence)三、启动特性(Boot Features)四、启动模式(Boot Mode)五、《S32G3系列芯片——Boot详解》系列…

BM25检索算法 python

1.简介 BM25(Best Matching 25)是一种经典的信息检索算法,是基于 TF-IDF算法的改进版本,旨在解决、TF-IDF算法的一些不足之处。其被广泛应用于信息检索领域的排名函数,用于估计文档D与用户查询Q之间的相关性。它是一种…

量子密钥分发系统的设计与实现(四):量子密钥的产生过程分析

在之前的文章中,我们讨论了QKD系统的光路系统,我们对整个系统最基础的部分有了初步的了解,从本文开始,我们就要往上层出发了,一起探讨下光电信号如何变成最终的密钥。 1.关于QKD后处理 在光路子系统中,Alic…

万界星空科技电机行业MES+商业电机行业开源MES+项目合作

要得出mes系统解决方案在机电行业的应用范围,我们先来看一下传统机电行业的管理难题: 1、 产品标准化程度较低,制造工艺复杂,生产周期较长,产品质量不稳定; 2、 自动化程度低,大多数工序以手工…

医学访问学者专栏—研究领域及工作内容

在国外访问学者申请中,医学领域的研究、教学及从业人员占有相当大的比例,这些医学访问学者的研究领域及工作内容都有哪些?本文知识人网小编就相关问题进行详细阐述,并附带案例说明。 一、在国外做医学访问学者可以从事哪些工作&am…

1142 - SELECT command denied to user ···

MySql子账户操作数据库权限不够,提示错误 1142 - SELECT command denied to user database 1142 - ALTER command denied to user database 以下命令可以解决 GRANT SELEC your_database_name TO mysql_account%;

Esp8266 - USB开关分享(开源)

文章目录 简介推广自己gitee项目地址:嘉立创项目地址:联系我们 功能演示视频原理图嘉立创PCB开源地址原理图PCB预览 固件烧录代码编译烧录1. 软件和驱动安装2. 代码编译1. 安装所需要的依赖库文件2. 下载源代码3. 烧录代码 使用说明1. 设备配网2. 打开设备操作页面3…

【kettle002】kettle访问人大金仓KingbaseES数据库并处理数据至execl文件

一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 熟悉、梳理、总结下人大金仓KingbaseES数据库相关知识体系 kettle访问人大金仓KingbaseES数据库…

关于Spring事务管理之默认事务间调用问题

由事务的传播行为我们知道, 如果将方法配置为默认事务REQUIRED在执行过程中Spring会为其新启事务REQUIRES_NEW, 作为一个独立事务来执行. 由此存在一个问题。 如果使用不慎, 会引发org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back bec…

用于割草机器人,商用服务型机器人的陀螺仪

介绍一款EPSON推出适用于割草机器人,商用服务型机器人的高精度陀螺仪模组GGPM61,具体型号为GGPM61-C01。模组GGPM61是一款基于QMEMS传感器的低成本航向角输出的传感器模组,它可以输出加速度、角速度及姿态角等信息,为控制机器人运…