最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

arduino从零开始(12)从电脑向arduino发送数据

Arduino 少儿编程 2568浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

arduino从零开始(12)从电脑向arduino发送数据

通信

你将学到什么

你将学到如何从串口监视器向arduino发送数据


 为了从串口监视器发送数据到arduino,我们需要arduino监听串口缓冲区

(arduino的一个通过串口针脚 数字0和数字1 接收外界数据的部件)。

串口缓冲区保存着从串口监视器输入框中发送过来的数据。


几个常用的函数:

Serial.flush();//清空串口缓冲区,防止有垃圾数据

Serial.available();//检测串口缓冲区是否有数据,没有数据还回0,有数据返回值大于0

Serial.read();//读取串口缓冲区的数据(一次只能读取一个字节的数据)

arduino从零开始(12)从电脑向arduino发送数据

ASCII码表

特别注意:

在串口监视器输入框中输入数据,是转换成ASCII码进行传输的,例如输入数字0,实际传输的是字符 ’0′ 的ASCII值(即对应十进制48),所以如果想要得到数字0,需要和’0′相减(也就是ASCII值相减 48-48=0)。


例子:从串口输入一个数字,将该数字的平方打印在串口

arduino从零开始(12)从电脑向arduino发送数据

发送数据


文字代码如下:

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);

}

}



您必须 登录 才能发表评论!