友情提示:680元/半年,儿童学编程,就上码丁实验室。
通信
你将学到什么
你将学到如何从串口监视器向arduino发送数据
为了从串口监视器发送数据到arduino,我们需要arduino监听串口缓冲区
(arduino的一个通过串口针脚 数字0和数字1 接收外界数据的部件)。
串口缓冲区保存着从串口监视器输入框中发送过来的数据。
几个常用的函数:
Serial.flush();//清空串口缓冲区,防止有垃圾数据
Serial.available();//检测串口缓冲区是否有数据,没有数据还回0,有数据返回值大于0
Serial.read();//读取串口缓冲区的数据(一次只能读取一个字节的数据)
ASCII码表
特别注意:
在串口监视器输入框中输入数据,是转换成ASCII码进行传输的,例如输入数字0,实际传输的是字符 ’0′ 的ASCII值(即对应十进制48),所以如果想要得到数字0,需要和’0′相减(也就是ASCII值相减 48-48=0)。
例子:从串口输入一个数字,将该数字的平方打印在串口
发送数据
文字代码如下:
void setup() {
// put your setup code here, to run once
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.flush();
while(Serial.available()==0)
{}//串口没有数据什么也不做
while(Serial.available()>0)
{
int data=Serial.read()-’0′;//将ASCII转换成整数
int new_data=data*data;
Serial.print(“你输入的数字是:”);
Serial.print(data);
Serial.print(” “);
Serial.print(“该值的平方为:”);
Serial.println(new_data);
}
}