与其它主控通信互动
文章目录
- 与其它主控通信互动
- 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与其它主控通信互动】
联系我们
扫码或者点这里加群了解更多!