arduino与上位机通信教程.doc_第1页
arduino与上位机通信教程.doc_第2页
arduino与上位机通信教程.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,接收函数Serial.read( )int Serial.read(void)如果串行数据缓冲区有数据,这个函数会读取串行数据缓冲区的第一个字节,数据读取位置移动到下一个数据缓冲区,也就是说如果继续读取的话会读取下一个数据缓冲区的第一个字节.如果数据缓冲区没有数据,将返回-1.2,发送函数Serial.printSerial.print(val)Serial.print(val, format)Serial.print(val)首先注意: print是一个打印函数,主要用于在上位机上显示,让数据可视化,它会将数据用字符的形式(ASCII码)逐个发送到串口. 一般不用这个函数来进行数据传输.比如下面这段代码不会在串口助手上显示3个256,而会分别显示2,5,6的ASCII码值,50,53,54(分三次发送,有三个地址不同的数据缓冲区)void setup() / initialize serial ports: Serial.begin(9600); Serial1.begin(9600); Serial3.begin(9600); Serial3.print(256); if (Serial1.available()0) Serial.println(Serial1.read(); Serial.println(Serial1.read(); Serial.println(Serial1.read(); void loop() 既然print是一个打印函数,那么自然,参数val的类型是任意的.Serial.print(val, format)将val的值转换成format指定的形式发送,可为BIN,OCT,HEX,DEC.3,发送函数Serial.writeSerial.write(str)str为字符串的首地址,buf为一个用来存放数据的数组的首地址. 这个函数会先发送字符串,然后返回字符串的长度.void setup() Serial.begin(9600);void loop() Serial.write(45); / send a byte with the value 45 int bytesSent = Serial.write(hello); Serial.println(bytesSent);Serial.write(val)val的数据类型为unsigned char,这个函数每次只发送一个字节的数据,所以val的值在0-255之间.Serial.write(buf, len)buf为要发送的数组的首地址(注意数组的类型为unsigned char),len为数组的长度.void setup() Serial.begin(9600); Serial3.begin(9600); Serial1.begin(9600);void loop() unsigned char data2 =11,0; Serial3.write(data,2); if(Serial1.available()0) Serial.println(Serial1.read(); Serial.println(Serial1.read();回到开头的问题,如何从一个单片机的串口发送数据到Arduino上,然后用Arduino显示呢?我们可以先用单片机的print函数把数据打印到串口,然后用Serial1.readBytes(Serial的加强版,具体看官方参考手册)把数据从串口读取回来(以ASCII码的形式),然后把ASCII码转换成字符,然后发送.unsigned int send_data =1234;char rx_data4;void setup() Serial.begin(9600); Serial3.begin(9600); Serial1.begin(9600);void loop() Serial3.print( send_data); if(Serial1.available()0) Serial1.readBytes(rx_data,4); for(char i=0;i4;i+) Serial.print(char(rx_data);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论