首页 > 其他 > 详细

02基于串口的学习

时间:2020-03-27 10:08:07      阅读:49      评论:0      收藏:0      [点我收藏+]

1串口通讯的基本理论知识,想必大家都熟悉,这里就不过多的介绍,这里主要花时间来介绍串口的应用

2参考内容如下所示:
技术分享图片

 3串口通讯所涉及到的函数分析

  A  if (Serial)   如果串口已经准备好了,那么Serial返回值为true,所以该函数是用来判断串口是否准备完成    

 1 void setup() {
 2   //Initialize serial and wait for port to open:
 3   Serial.begin(9600);
 4   while (!Serial) {
 5     ; // wait for serial port to connect. Needed for native USB port only
 6   }
 7 
 8   // prints title with ending line break
 9   Serial.println("ASCII Table ~ Character Map");
10 }

  B begin(speed)  形参是波特率,参考上面代码。串口通讯设置完成,对应的关闭是 end();

  C Serial.available()  该数据指的是存储在串口缓存中的字节数,此缓存最多可以存储64个字节数

  D Serial.read()  串口中有内容,那么一个字节一个字节的读取,如果没有内容则返回 -1,返回值内容是读取到的数据的ASCII码(字符),(Hex是16进制千万不要搞混了)

  E Serial.write(val) / Serial.write(str)  /Serial.write(buf, len)  写二进制数据到串口,数据是一个字节一个字节发送的,若以字符形式发送数字请使用 print()

1 void loop() {
2  
3         if (Serial.available() > 0) { //检查串口缓存中是否有数据等待
4  
5                 incomingByte = Serial.read(); // 读取接收到的数据           
6                 Serial.print("I received: ");       // 显示接收到数据
7                 Serial.println(incomingByte, DEC);  // 的ASCII码(十进制形式)
8         }
9 }

  F Serial.print(78)  该函数发送的是人能够识别的ASCII码形式(字符串),注意与write()的区别   Serial.println(val) 新增了换行功能,其他的都一样

    G Serial.availableForWrite()  获得串口缓存中待写数据的数量,此指令不会影响对串口写数据的操作  用的不多

  H Serial.parseInt()  取整数数值,用处很大

    I Serial1.flush()   等待串口数据发送结束

   J Serial.find(target)  用于从Arduino的串口缓存中寻找指定字符。如果找到该字符,则返回真。否则返回假

  以上的函数基本上够用了

4 代码

02基于串口的学习

原文:https://www.cnblogs.com/Record-experience/p/12522418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!