Ameba Arduino: [RTL871AF] UART - 使用UART让Ameba与电脑沟通
UART介紹
- UART使用了两条线让双方可以同时传送资料。其中一条是Transmitting, 另一条则是Receiving,双方使用约定好的频率(baud rate)来传资料。
Ameba除了Log UART之外,还提供多组硬体的UART。为了相容于Arudino的Software Serial API,Ameba在取名上沿用Software Serial,但底层是硬体而不是软体模拟。
Ameba RTL8710 的UART接脚与Ameba RTL819A不同,在原本RTL8195A上常用的D0(RX)/D1(TX)这组UART在RTL8710上并没有接脚,而是改用D17(RX)与D5(TX) 。
材料准备
- #3 Ameba RTL8710 Board x 1
- USB to TTL Adapter x 1
范例说明
这个范例里,我们使用USB to TTL Adapter扮演UART的其中一端,另一端则是Ameba。 USB to TTL Adapter送出资料给Ameba,Ameba回传相同的资料,最后显示在萤幕上。
- 安裝USB to TTL Adapter
USB to TTL Adapter是个将USB转成Seral介面的晶片。它一般会有4根脚,分别是3V3(或5V), GND, TX, RX。在使用USB to TTL Adapter时,通常都需要安装驱动程式。如果你的晶片是FTDI的,Windows会上网找驱动程式并自动安装,或者也可以自己找驱动程式
安装完驱动程式之后, 会在装置管理员找到对应的Serial Port, 像图中我的FTDI USB to TTL Adapter在COM8, 而Silicon USB to TTL Adapter则在COM6
- 执行范例
首先先打开SoftwareSerialExamle范例, 它在 “File” -> “Examples” -> “AmebaSoftwareSerial” -> “SoftwareSerialExample”:
![5-3](/wp-content/uploads/2017/01/uart-2.png)
接着我们打开Serial Port Terminal, 常见的Serial Port Terminal有Putty, Tera Term。 我们以Putty说明如何设定, 先将 Connection Type选择 Serial, 并且将 Serial line填入 USB to TTL Adapter所在的Port, (Ex. COM8)。 Speed指的就是USB的baud rate,需要与Serial的另一端做搭配,这个在范例里为4800,所以我们设定4800。
![5-4](/wp-content/uploads/2015/12/uart-1-4.png)
接着我们切换左边的Category到 Serial的页面,其中Data bits为8, Stop bits为1, Stop bits为1, Parity为None, Flow control为None。
![5-5](/wp-content/uploads/2015/12/uart-1-5.png)
设定完之后按下Open, 并且按下Ameba的Reset按钮,Putty就会出现“Hello, world?” 的讯息, 这时候你在键盘上敲字,会经由USB to TTL Adapter的TX送到Ameba的Serial RX, 在程式码里面再送到Ameba的Serial TX, 最后由USB to TTL Adapter的RX接收并印出来。所以如果我们敲这个讯息 “I am fine”, 就会出现这样:
程式码说明
首先需要设定UART的Baud rate, 使用SoftwareSerial:Begin():
https://www.arduino.cc/en/Reference/SoftwareSerialBegin
使用write送出资料, 并且使用Software:available()来检查是否有资料送进来:
https://www.arduino.cc/en/Reference/SoftwareSerialAvailable
如果有资料进来, 就使用read将资料读进来。
https://www.arduino.cc/en/Reference/SoftwareSerialBegin
使用write送出资料, 并且使用Software:available()来检查是否有资料送进来:
https://www.arduino.cc/en/Reference/SoftwareSerialAvailable
如果有资料进来, 就使用read将资料读进来。
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款