arduino判断是否连接串口_arduino串口通信

Arduino

的串行通信

刚开始看到引脚读写函数的时候觉得很鸡肋,还不如以前端口直接赋值简单。但是继续往下看

Arduino

供的通讯函数就发现真的是要比以前方便多了

...

上次把键盘做好,现在要把键盘按下的信息通过串口发给

PC

,如果以前用单片机自己来写串口程序做,对

有基础的人来说其实也不难

...

但是如果用

Arduino

来做,会发现简直是傻瓜操作,合适初学者,也合适有

基础的懒人

...

先了解一下相关的一些串口通信函数:

Serial.begin(int speed)

初始化串口比特率函数,直接输入相应的数值就把串口通信的寄存器设置为对应的比特率了,够傻瓜吧

..

当然,可以使用的值也不是随便设的,一般

4800 9600 14400……

等等

Serial.available()

串口输入数据读取前的判断函数,返回值为

1

串口

buff

中有数据

0

串口

buff

中无数据或者数据已经读取

出来过。经常

if(Serial.available())

来询问监视串口。

Serial.read()

从串口

buff

中读取数据进来

..

比如

infomaition = Serial.read();

buff

中的数据会赋值给

infomaition

变量

Serial.print(data)

data

从串口把数据发送出去

...

注意的是使用找个函数的时候可以有几种发送方法:

1

Serial.print(data)

这样的话

Arduino

会把

data

发送成字符串

ASCII

出去。如

int data = 79 ; Serial.print(data) ;

那串口发送出

去的就是

string"79"

ASCII..

2

Serial.print(data,DEC)

这样发送的是

data

10

进制字符串。如

int

data

=

79;

Serial.print(data,DEC);

那串口发出去的就是

string"79"

3

Serial.print(data,HEX)

这样发送的是

data

16

进制字符串。如

int

data

=

79;

Serial.print(data,HEX);

那串口发出去的就是

string"4F"

4

Serial.print(data,OCT)

这样发送的是

data

8

进制字符串。如

int

data

=

79;

Serial.print(data,OCT);

那串口发出去的就是

string"117"

5

Serial.print(data,BIN)

这样发送的是

data

的二进制字符串。如

int

data

=

79;

Serial.print(data,BIN);

那串口发出去的就是

string"1001111"

6

Serial.print(data,BYTE)

这样是把

data

作为

ASCII

码对应的字符后发送。如

int data = 79; Serial.print(data,BYTE);

那串口发出去

的就是

string"O"

Serial.println(data)

功能类似上面的发送函数,也是把数据发送出去,不同的是发送的数据后面带上换行符号

有了上面的这些函数,就可以轻松的和

PC

进行串口通讯了。现在做个实验:先根据键盘按下的按键向

PC

发送对应的键值,然后

PC

接受到键值做相应的判断处理后将结果返回给

Arduino

执行。

因为要检查出按键的具体键值,上次用来实验输入输出的键盘代码是不能用了。这次键盘的原理和上次一

样,先行扫描,然后读取

4

条列线,如果有按键按下则把扫到的键值从串口发送出去。

先定义变量:

int KeyOPin =2;

int KeyIPin =6;

int LedPin = 13;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值