串口通信
引脚 |
功能 |
引脚O RX |
接收(Receive) |
引脚1 TX |
发送(Transmit) |
RX TX工作时,相应LED会闪烁
所有要进行串口通讯的设备,接地必须连在一起
ardunio:TTL标准(0V-5V)
每一位数据所持续的时间
通过波特率来限定
波特率:9600→每秒传输9600位
Serial. available()函数,
Serial.available 返回串口接收缓存中等待传输的数据字节数量
Serial. read 读取数据
Serial.read成功读取数据后Arduino将已经被读取的数据从缓存中清除。
1 2 3 4 5 6 7 8 9 10
| void setup(){ Serial.begin(9600); Serial.println("Please input serial data"); } void loop(){ if( Serial.available()>0){ int serialData = Serial.read(); Serial.println(serialData); } }A
|
输入角度控制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #include <Servo.h>
Servo myServo;
int dataIndex = 0; void setup() { myServo.attach(6); Serial.begin(9600); Serial.println("Please input serial data."); }
void loop() { if ( Serial.available()>0 ) { dataIndex++; Serial.print("dataIndex = "); Serial.print(dataIndex); Serial.print(" , "); int pos = Serial.parseInt(); Serial.print("Set servo position: "); Serial.println(pos); myServo.write(pos); delay(15); } }
|
让其他引脚实现串行通信(软件模拟)
1
| SoftwareSerial BTserial(2,3);
|