|
串口通信(Serial Communication)是arduino和计算机间按位进行数据传输的一种最基本的方式。
使用3根线完成
地线,GND
发送,Tx
接收 ,Rx
主要参数
波特率:通信速度,表示每秒钟传送的位(bit)的个数
数据位
停止位
奇偶校验位
Arduino 串口
USB转串口
PC端:串口
Arduino端:USB
串口引脚
RX:Pin 0
TX:Pin 1
串口数目
Arduino MEGA和Arduino 2560:4个
其余:1个
串口初始化函数
Serial.begin(speed)
speed: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200
通常在 setup() 函数里调用
Arduino 串口输出
将数据从Arduino传输到PC
TX 串口转USB PC端软件串口监视软件
Arduino IDE自带串口监视软件
也可以用其它软件进行接收:Flash, Processing, Director, vvvv等
串口输出函数
Serial.print(val), Serial.println(val)
输出ASCII码(后者多一个回车换行)
Serial.print(val, format) , Serial.println(val, format)
按指定格式输出(后者多一个回车换行)
Serial.print(val) 实例
Serial.print(78)
输出"78"
Serial.print(1.23456)
输出"1.23"
Serial.print(byte(78))
输出“N” (N的ASCII码值为78))
Serial.print('N')
输出"N"
Serial.print("Hello world.")
输出"Hello world."
Arduino 串口输入
串口队列(Buffer)
PC和Arduino间的缓冲区
串口输入函数
Serial.available()
返回值:当前可读的数据数目
Serial.read()
如果串口没有数据可读,返回 -1
如果串口有数据可读,返回第一个字符,并从串口队列中取出
Serial.peek()
如果串口没有数据可读,返回-1
如果串口有数据可读,返回第一个字符,但不从串口队列取出,因此下次还能读到
Serial.flush()
清空串口队列
|
|