一、Arduino串口通信

串口(COM口):是Arduino与其他设备进行通信的接口。

Q:连接电脑USB的线为什么可以上传程序,而电源线无法上传?

A:PC一端的数据线接口是USB接口,连接Arduino这一端的接口类型是RS-232转成的TTL232接口。两者指的是电平标准。标准RS-232最高电压达正负15V,计算机串口是标准的RS-232,许多单片机的串口都是TTL电平,电源电压一般为+5V,因此,为了互连,必须进行电平转换。现在的计算机一般没有下图这种串口,就需要一个USB转串口的转换器。而电源线是DC接口,是一种为转变输入电压后有效输出固定电压的接口。

Q:波特率是什么?

A:我们可以把波特率理解为双方通信的速率,接收和发送的速率要保持一致,只有速率保持一致双方进行通信才不会产生数据的损失。波特率一般会设置为9600或115200.波特率也不是越高越好,这跟处理器的主频有关,主频最好是波特率的整数倍,否则会增加错误率。

Q:TX、RX是什么?

A:TX(transport)、RX(receive)是串口通信的引脚。Arduino Uno开发板上,串口位于0(RX)和1(TX)引脚上,经过串口转换芯片(下图黄色位置)连接计算机USB端口与计算机进行通信。使用串口功能的同时不能使用0和1作为输入或输出。

串口相关函数

            函数                                         描述
Serial.read() 每次都会返回一个字节的数据,这个返回值便是当前串口读取到的数据。读到后就删除这个数据。
Serial.begin(speed) 设置波特率
Serial.available() 获取串口接收到的数据个数,即获取串口接收缓冲区的字节数
Serial.print() 从串口输出数据
Serial.println() 从串口输出数据,并输入一个换行符
Serial.write() 以字节的形式输出到串口
Serial.end() 结束串口通信

例子:输入字符控制LED亮灭

void setup() {pinMode(8,OUTPUT);  //设置引脚8为输出模式Serial.begin(9600); //设置串口波特率9600
}int val=0;void loop() {val = Serial.read();         //读取计算机发送给控制板的指令复制给valif(val=='T'){digitalWrite(8,HIGH);      //点亮LEDSerial.println("LED ON");  //并输出}if(val=='F'){digitalWrite(8,LOW);       //熄灭LEDSerial.println("LED OFF"); //并输出}
}

在 “工具” → “串口监视器” 处输入,会显示输出。

二、按键输入

INPUT模式

将引脚设置为输入模式。但此时不能直接与Arduino开发板的GND,和输入电压引脚相连,否则可能会损坏Arduino。而INPUT_PULLUP即输入上拉模式,这里用到了上拉电阻,上拉电阻是当某输入端口未连接设备或处于高阻抗的情况下,一种用于保证输入信号为预期逻辑电平的电阻元件。等效于在该引脚与VCC之间连接了一个电阻,稳定输入输出电平。

例子:按下按键点亮LED,再按一次熄灭LED

int state;      //定义按键状态
int last;       //按键上一次的状态
int count;      void setup() {pinMode(13,OUTPUT);       //设置为输出模式pinMode(11,INPUT_PULLUP); //设置为Serial.begin(9600);       //设置波特率
}void loop() {state = digitalRead(11);  //读取引脚11的状态if(state != last){if(state){count++;}}last = state;             //把这次的状态复制给上一次if(count%2){digitalWrite(13,HIGH);  //点亮}else{digitalWrite(13,LOW);   //熄灭}
}

电路

Arduino入门_串口通信相关推荐

  1. 09_51入门_串口通信

    前言 在使用计算机的大多数时间中,我们需要通过一定的物理接口,达到与外界通信的目的,单片机本质上也是计算机,麻雀虽小,五脏俱全,不同于USB这样的庞然大物,绝大多数单片机都拥有串口UART,在日常的使 ...

  2. SoftwareSerial库的使用——Arduino软件模拟串口通信

    除HardwareSerial外,Arduino还提供了SoftwareSerial类库,它可以将你的其他数字引脚通过程序模拟成串口通信引脚. 通常我们将Arduino UNO上自带的串口称为硬件串口 ...

  3. 单片机_串口通信知识详解

    单片机_串口通信详解      楼主在实际的项目开发过程中,特别是用一些比较常见的传感器,使用最多的通信方式可能就是串口通信了,特别是UART(通用异步收发器),线少,虽然传输速度没有并行传输高,但是 ...

  4. Ariduino入门笔记——9. Arduino 默认函数(串口通信)

    文章目录 什么是串口 Serial 串口函数 串口准备--if(Serial) 获取可读取的字节数--available() 获取可写入的最大字节数--availableForWrite() 串口连接 ...

  5. C#串口通信工作笔记0001---嵌入式_串口通信_数据发送

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个是最终的样子程序的 这个是这次要做的程序的样子 使用这个串口通信的小控件 4800是波特率 D ...

  6. mysql与串口通信_串口通信 - ShawnXie - 博客园

    1.并行通信 2.串口通信 (1)同步通信(synchronous data communication,SYNC) 指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),保证 ...

  7. 两个串口通信助手之间通信_串口通信原理

    LC串口通信原理 PLC各型主机均内建2个通信接口的标准配置,即一个RS232和一个RS485通信接口,其RS232接口主要用于上下载程序或用来与上位机.触摸屏通信,而RS485接口主要用于组建使用R ...

  8. 计算机的串口波特率,什么是波特率_波特率9600是什么意思_串口通信为什么要设置波特率?...

    描述 波特率(Baud Rate) 单位 bps -- 每秒传送的字节数 Byte Per Second.. (BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量.如果数据 ...

  9. 基于STM32F103入门4——串口通信

    STM32F103串口篇 串口的基本概念 串行和并行 串行 并行 通信方式 全双工 半双工 单工 波特率 波特率计算 串口的配置 代码编写步骤 串口的重定向 串口的例程 main.c usart.c ...

最新文章

  1. mysql免费框架_瞧一瞧~看一看~MyCat架构剖析免费不要钱!(上)
  2. 快手基于 Apache Flink 的优化实践
  3. C++中直接存取类私有成员[360度]
  4. HTTP之Last-Modified、Etage、If-Modified-Since理论与实践(C++ Qt实现)
  5. java邮件设置成可修改_Java实现发送邮件(可配置)忘记密码,发送邮件
  6. 报告:中国人对AI的乐观程度远超其他国家
  7. linux操作字符串、文本常用命令总结
  8. 安装pdf虚拟打印机驱动失败的解决办法(addprinterdriver找不到指定模块)
  9. 《麦田里的守望者》谁又不是以过来人的身份,来做一个麦田里的守望者呢?
  10. FBX SDK下载安装教程
  11. 香港等海外公司如何开通认证微信公众号?
  12. 两年内5000万台电脑都要换成国产电脑
  13. vuejs-- webpack环境下父子组件的使用
  14. 图像处理:均值滤波算法
  15. (四十二)模态框的使用
  16. 菲尔博士的三十六交际方式
  17. python截取图片中的圆形区域
  18. 学生HTML网页作业:基于HTML+CSS+JavaScript画家企业8页
  19. linux安装应用程序dbd,Linux下安装DBI和DBD
  20. 【免费分享】4月24日精选行业报告分享-免费行业报告下载(7份)

热门文章

  1. C++实用案例:整数四则运算计算器
  2. flash图片如何镜像翻转_FLASH特效与实例-立体层旋转效果.
  3. Flash 特效原理:图片平面墙
  4. 易优CMS内核儿童教育培训机构网站模板源码
  5. FAT32文件系统转NTFS文件系统
  6. linux超薄笔记本推荐,2016超薄笔记本买什么好
  7. 帝国防线超能辅助加速升级 快速获取勇士和护卫脚本工具
  8. 少妇教你如何笑里藏“刀” 榨干老公私房钱
  9. ansys的kbc_ANSYS中接触单元参数设置要点
  10. Luogu P3951 小凯的疑惑【数论】