当前位置: 首页 > news >正文

如何建设备案网站视频教程宁波网络公司哪家最好

如何建设备案网站视频教程,宁波网络公司哪家最好,如何做提升自己的网站,哪个网站做汽车保养比较好Hi٩(๑o๑)۶, 各位深海王国的同志们,早上下午晚上凌晨好呀~辛勤工作的你今天也辛苦啦 (o゜▽゜)o☆ 今天大都督继续为大家带来系列——小学生都能玩的单片机!带你一周内快速走进嵌入式的大门,let’s go! (8&#x…

Hi٩(๑o๑)۶, 各位深海王国的同志们,早上下午晚上凌晨好呀~辛勤工作的你今天也辛苦啦

(o゜▽゜)o☆ 今天大都督继续为大家带来系列——小学生都能玩的单片机!带你一周内快速走进嵌入式的大门,let’s go!

(8)软串口与SoftwareSerial库使用

在第六节中我们提到了,如果我们Arduino开发板的0、1号引脚接线了,即硬件串口被占用了,想给Arduino下载程序,就需要先将0、1号引脚的线拔掉再下载,程序下载好以后才能接回去。

这样操作确实是有点麻烦,所以这节我们来学习软串口的使用,给Arduino开发板人为添加一个串口,以解决串口占用问题。

什么是软串口:

在Arduino平台上,软件串口(软串口)是通过软件模拟UART通信的方法,软串口在使用上跟硬串口一样,只不过用两个数字IO口代替RX、TX,以此来解决串口不够用的问题。

Arduino系列可用作软串口的引脚
Arduino Uno除了0(RX)和1(TX)引脚外的任何引脚
Arduino Mega几乎所有引脚,但是建议避开用于其他功能的特定引脚,如10(SS), 11(MOSI), 12(MISO), 13(SCK)
Arduino Nano除了0(RX)和1(TX)外的任何引脚
Arduino Leonardo几乎任何引脚,包括多个模拟引脚
Arduino Due所有数字引脚和模拟引脚
Arduino Micro几乎任何引脚,包括多个模拟引脚

常用的软串口库:

  1. SoftwareSerial: 这是Arduino IDE自带的软件串口库,也是最常用的软软件串口解决方案之一。它允许用户选择任何数字引脚来模拟串口通信。然而,这个库有一定的限制,比如不能同时发送和接收数据,以及在高波特率下可能不够稳定。

  2. AltSoftSerial: 这个库相对于SoftwareSerial来说,在特定的引脚上提供了更高的性能和稳定性,但是它限定了可以用作软串口的引脚。它使用定时器来实现更准确的时间控制,因此在高速通信时比SoftwareSerial表现得更好,但这也意味着它会占用特定的定时器资源。

  3. NeoSWSerial: 是另一种软件串口解决方案,它旨在解决SoftwareSerial的一些性能问题,特别是在高波特率上。它比SoftwareSerial占用更少的资源,并且可以在数据发送的同时接收数据。

以下是一个表格,总结了SoftwareSerial库、AltSoftSerial库和NewSoftSerial库的主要区别:

特性/库SoftwareSerialAltSoftSerialNewSoftSerial
支持的硬件平台和芯片型号Arduino Uno、Mega等基于ATmega328P和ATmega2560芯片的开发板包括ATtiny、ATmega、SAM3X8E等支持更多开发板和芯片,包括ESP8266、ESP32、ATtiny等
可用的IO口数量和频率两个IO口(RX和TX),最高115200bps多个IO口,最高31250bps多个IO口,最高38400bps
稳定性和可靠性在高速通信时可能出现数据丢失或错位相对稳定可靠相对稳定可靠
使用的方法和API方法和API比较类似于传统的Serial库有自己独特的API和使用方法方法和API比较类似于SoftwareSerial库

总的来说,我们初学会用SoftwareSerial库就够啦,但一定要注意!

SoftwareSerial库最高只能支持两个IO口(RX和TX),也就是最多只能额外跟一个设备串口通信。

最多只能额外跟一个设备串口通信。!

最多只能额外跟一个设备串口通信。!

最多只能额外跟一个设备串口通信。!

这个很重要,也就是说即使我们使用了SoftwareSerial库,算上Arduino UNO自带的硬件串口,也只能同时跟两个设备串口通信。

如果你需要跟更多设备通信,建议直接用Arduino Mega2560(后面会再介绍,它有四个硬件串口),或者使用NewSoftSerial库(后面也会教大家)。

SoftwareSerial库使用示例:

首先下载相应的库文件: SoftwareSerial库,下载库的方法参考(5)最新版Arduino IDE第三方库安装
以arduino uno r3开发板为例,应用代码如下:

#include <SoftwareSerial.h>  //引用库文件
SoftwareSerial Serial1(2, 3);  // 定义软串口RX为2, TX为3和软串口对象Serial1
//其它操作就跟正常串口函数一样了
//这些是常用的串口函数:
Serial1.begin(9600); 
Serial1.read();
Serial1.write();
Serial1.available();
Serial1.print();

这里注意大家可以将软串口定义为Serial1、Serial2、Serial3这样,因为Arduino Mega2560的硬件串口就是这样命名的,方便我们项目移植,将Arduino UNO的代码转移到Arduino Mega2560上,操作也很简单,只用删除掉这两行代码,然后换一下接线就行啦。

#include <SoftwareSerial.h>  //引用库文件
SoftwareSerial Serial1(2, 3);  // 定义软串口RX为2, TX为3和软串口对象Serial1

以咱们深海王国APP系列的BLE低功耗蓝牙为例,进行软串口接线如下:
在这里插入图片描述

ArduinoBLE蓝牙模块
2 (RX)TX
3 (TX)RX
3.3V3.3V
GNDGND

串口函数介绍:

  1. Serial.begin(9600);函数用于初始化串行通信,并设置数据传输速率(波特率)。在这个例子中,波特率被设置为9600比特/秒。

  2. Serial.read();函数用于从串行缓冲区读取接收到的第一个字节的数据,然后该数据从缓冲区中删除。如果缓冲区为空(即没有数据可读),这个函数将返回-1。该函数主要用于从另一设备接收数据。

  3. Serial.write();函数用于通过串行端口发送数据。它可以发送一个字节或一串字节(例如,一个字符串)。该函数返回写入的字节数。例如,Serial1.write(‘A’);会发送字符’A’,而Serial1.write(“Hello, world”);会发送一个字符串。

  4. Serial.available();函数用于查询串行缓冲区中可读取的字节数,即检查有多少个字节的数据可被read()函数读取。在执行读取操作前检查这个值非常有用,可避免在没有数据可读取时去读取,从而降低出错的风险。

  5. Serial.print();函数用于发送数据到串行端口,以ASCII字符形式。它可以发送多种类型的数据,包括数字、字符串和字符。例如,Serial.print(“Hello”);会将"Hello"字符串发送至串行端口。Serial.print(123);会将数字123以其对应的ASCII字符序列发送出去。不同于write()函数,print()在发送数字时会将其转换为可读的文本形式而不是原始的二进制或字节值。

今天的学习到这里就差不多啦,下节我们还会再了解一些做串口通讯时常见的问题,看到这里的你辛苦啦,加油٩(ˊᗜˋ)و✧。

哈哈,让焦虑不再蔓延,信息不再高壁,如果你觉得这篇文章对你有帮助,就来个免费的点赞吧!
(◍˃̶ᗜ˂̶◍)✩我深海大都督正式授予你深海王国公民的身份~

(・ω< )★ 加入深海大家庭,快乐摆烂每一天!

http://www.yayakq.cn/news/209937/

相关文章:

  • 用php做网站需要什么公司的网 网站打不开怎么办
  • 浙江网商银行电话乐陵seo外包
  • 深圳php网站建设网站建设需要什么手续
  • 做网站是不是要域名费放心网络营销定制
  • 莘县做网站网站推广设计方案目标怎么写
  • 给别人网站做跳转Wordpress按钮添加跳转
  • 电脑登录不了建设银行网站做企业网站还有市场吗
  • 中国流量最大的网站排行收益网站制作
  • 网站精简布局免费网站模版
  • 网站开发具体的工作内容手机网站你懂
  • 小说网站如何赚钱网页设计图片滑动代码
  • 广东品牌网站建设多少钱网页版微信官方免费
  • 惠州seo报价seo网站优化网站编辑招聘
  • 移动网站开发做一个简单网页网站后台流程图
  • 网站建设设置背景图片wordpress和iss
  • 西安网站seo价格专门做三国战纪的网站叫什么意思
  • 南昌建站价格东莞饭堂承包东莞网站建设
  • 建设部职称证书查询官方网站北京app开发流程
  • 有哪些学做衣服的网站建筑咨询
  • 效果好的徐州网站建设广告素材网站哪个比较好
  • 开网站 怎么做网上支付书店网站建设需求分析调研表
  • 通过高新区网站建设昆明最新新闻事件今天
  • 服务器做php网站吗建立视觉健康档案的主要意义在于
  • 常用网站开发语言网站建设工作室小俊哥
  • 网站做调查需要考虑的内容网站要怎么建立
  • wordpress代码运行四川seo优化
  • 米拓网站建设-app定制开发做房产网站需要了解什么
  • 坑梓网站建设我想代理一个产品
  • 搞笑视频素材网站免费上海科技网络公司
  • 网站建设的进度安排和人员安排站长工具a级