内容简介:Arduino通过串口与计算机交流
Arduino上与计算机通信最常用的方式就是串口通信,本文讲解下Arduino下使用串口以及使用串口接收发、发送数据。
在Arduino控制器上,串口都是位于0 (RX)和1 (TX)的两个引脚, Arduino 的USB口通过一个转换芯片(通常为ATmega16 u2)与这两个串口引脚连接。该转换芯片会通过USB接口在计算机上虚拟出一个用于与Arduino通信的串口。
当Arduino控制器使用USB线与计算机相连时,两者之间便建立了串口连接。通过此连接,Arduino控制器可与计算机相互传数据了。
Arduino中与串口相关的函数有 Serial. begin()、Serial.available()、Serial.read()、Serial.println()和Serial.print() 这五个函数;下面分别介绍如何使用串口。
一、串口初始化
要想使串口与计算机通信,需要先使用 Serial. begin() 函数初始化Arduino的串口通信功能,即 Serial.begin(speed); 其中参数speed指串口通信波特率,它是设定串口通信速率的参数。串口通信的双方必须使用同样的波特率方能正常进行通信。波特率可以设置为300、600、1200、2400、4800、9600、14400等,波特率越大,串口通信的速率也就越高。常用的波特率为9600。
二、串口输出
串口初始化完毕后,便可以使用 Serial.print() 和 Serial.println() 函数向计算机发送数据了。函数的用法是:
- Serial.print(val); 其中val为要输出的信息,各种类型的数据即可。
- Serial.println(val); 与Serial.print()类似,不同的是Serial.println()函数会在输出指定数据后,再输出一组回车换行符。
串口输出示例程序:
int counter = 0; void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: counter = counter + 1; Serial.print(counter); Serial.print(':'); Serial.println(" Hell World!"); delay(100); }
下载程序到Arduino开发板,点开IDE右上角的窗口监视器,就可以看到串口的输出信息了。如下图:
三、串口接收数据
使用串口同样可以接收由计算机发出的数据。接收串口数据需要使用 Serial. read() 函数,用法是:
Serial.read();
调用该语句,每次都会返回1字节的数据,该返回值便是当前串口读到的数据。
使用串口时,Arduino会在SRAM中开辟一段大小为64 B的空间,串口接收到的数据都会被暂时存放在该空间中,称这个存储空间为缓冲区。使用Serial.available()函数检测缓冲区是否有可读数据,该函数的用法是:
Serial.available();
Serial.available()函数的返回值是当前缓冲区中接收到的数据字节数。在使用时,先检测缓冲区中是否有可读的数据,如果有,则使用 Serial. read() 函数读取,没有则跳过或者等待再读取。
串口读数据的示例程序如下:
void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: if(Serial.available()>0){ char ch=Serial.read(); Serial.print(ch); } }
程序下载到Arduino后,打开串口监视器,键入并发送任何信息,则会看到Arduino接收该信息,并且将同样的信息通过串口输出。
以上所述就是小编给大家介绍的《Arduino通过串口与计算机交流》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 计算机通过串口连接Arduino控制LED灯
- FPGA nios通过驱动LCD12864实现菜单界面和uart串口通信
- Electron 使用串口通信
- 使用串口调试Xen
- Android之串口编程
- 关于树莓派Zero的串口
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
世界是平的(3.0版)
[美] 托马斯·弗里德曼 / 何帆、肖莹莹、郝正非 / 湖南科学技术出版社 / 2008-9 / 58.00元
世界变得平坦,是不是迫使我们跑得更快才能拥有一席之地? 在《世界是平的》中,托马斯·弗里德曼描述了当代世界发生的重大变化。科技和通信领域如闪电般迅速的进步,使全世界的人们可以空前地彼此接近——在印度和中国创造爆炸式增长的财富;挑战我们中的一些人,比他们更快占领地盘。3.0版新增两章,更新了报告和注释方面的内容,这些内容均采自作者考察世界各地特别是整个美国中心地带的见闻,在美国本土,世界的平坦......一起来看看 《世界是平的(3.0版)》 这本书的介绍吧!