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

如何在电脑上建设网站网页风格设计

如何在电脑上建设网站,网页风格设计,莱芜在线董事长,电商网站可维护性天气时钟:软硬件准备、串口模块开发 软硬件准备接线及模块划分ESP8266开发板引脚图软件准备 串口模块编写串口介绍Serial库介绍 近期跟着网上一些教学视频,编写了一个天气时钟,本篇及往后数篇都将围绕天气时钟的制作过程展开。本文先解决硬件…

天气时钟:软硬件准备、串口模块开发

  • 软硬件准备
    • 接线及模块划分
    • ESP8266开发板引脚图
    • 软件准备
  • 串口模块编写
    • 串口介绍
    • Serial库介绍

近期跟着网上一些教学视频,编写了一个天气时钟,本篇及往后数篇都将围绕天气时钟的制作过程展开。本文先解决硬件准备、软件准备、串口模块开发等问题。

软硬件准备

此次实验中,我使用ESP8266开发板、0.96寸四针OLED屏幕、micro USB线及若干杜邦线。

接线及模块划分

在这里插入图片描述
在这里插入图片描述

ESP8266开发板引脚图

在这里插入图片描述

① 如上图所示,在很多介绍ESP8266以及NodeMCU的资料里会出现两种引脚命名方法。一种是GPIO编号,一种是NodeMCU引脚名。但这两者是不同的,千万不要混淆:

  • GPIO编号指的是ESP8266芯片的引脚编号,通常不会因为生产厂家不同而不同
  • NodeMCU引脚名指的是电路板上印刷的引脚名称,这通常会因为生产厂家不同而有所区别

② ESP8266芯片一共有17个GPIO引脚(GPIO0 ~ GPIO16),其中存在一些较为特殊的引脚:

  • GPIO6 ~ GPIO11通常被用于连接开发板的闪存(Flash Memory),在实际编写代码时,应当尽量避免使用这些引脚
  • GPIO2引脚在NodeMCU开发板启动时是不能连接低电平的
  • GPIO15引脚在开发板运行中一直保持低电平状态
  • GPIO0引脚在开发板运行中需要一直保持高电平状态,否则ESP8266将进入程序上传工作模式,无法正常工作,因此通常情况下,无需对GPIO0做任何改动

软件准备

本次实验需要使用Arduino IDE、CH340驱动以及u8g2库、ArduinoJson库、NTPClient库等。其中Arduino IDE和CH340驱动已经配置好,剩下三个库,只需在Arduino的库管理中搜索并下载相应的库文件包即可,我原先有库文件压缩包,因此使用添加.ZIP库的形式导入

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

串口模块编写

串口模块主要用于方便程序员调试功能,无需过于复杂,因此只需要封装用于初始化的函数 serialInit() 和用于输出信息的函数 serialPrint()即可。在之前的文章中,专门介绍过串口和Serial库,此处再来温习一下

串口介绍

串口,也称为串行接口或串行通信接口(通常指COM接口),是一种采用串行通信方式的扩展接口。它实现了数据一位一位地顺序传送,具有通信线路简单、成本低但传送速度慢的特点。只要一对传输线,串口就可以实现双向通信。

在这里插入图片描述

  1. 起始位(Start Bit):起始位为低电平时,告诉接收方数据传输即将开始,准备接收。在通信开始时,发送端首先会发送一个起始位,它是一个逻辑0(低电平)的信号,用于同步发送和接收设备之间的时钟。接收端在检测到起始位后,会开始准备接收后续的数据位。
  2. 有效数据位(Data Bits):数据位是由一系列二进制值组成,用于传输或接收实际的数据。数据位的数量决定了可以传输的不同二进制值的数量,常见的有5位、6位、7位、8位,LSB在前,MSB在后。数据位紧随起始位之后,包含了要传输的实际信息。
  3. 校验位(Parity Bit):校验位用于验证数据的完整性,以确保传输过程中没有出现错误。常见的校验位选项有None(无校验位)、Odd(奇校验位)和Even(偶校验位)。在发送数据时,校验位会根据数据位中1的个数进行计算,并加入到数据中一起传输。接收端则会根据校验位的值进行校验,以判断数据是否存在错误。
  4. 停止位(Stop Bit):停止位是一个逻辑高电平,用于指示数据传输的结束。当停止位出现时,接收端知道数据传输已经完成,并且可以开始处理接收到的数据。停止位位于数据位和校验位之后,它的作用是确保接收端有足够的时间来识别数据帧的结束,并为下一个数据帧的到来做好准备。

比特率:每秒能传输的二进制位数;

波特率:每秒传送的码元的个数;

二进制系统中,波特率数值上等于比特率。

Serial库介绍

  1. 初始化串口通信:

    • Serial.begin(baud_rate): 初始化串口通信,baud_rate是波特率,常用的波特率有9600、115200等。
  2. 发送数据

    • Serial.print(data): 发送数据到串口,不会自动换行。
    • Serial.println(data): 发送数据到串口,并在数据后添加换行符。
  3. 接收数据

    • Serial.available(): 返回串口缓冲区中可读取的字节数。
    • Serial.read(): 读取串口缓冲区中的一个字节。
    • Serial.readString(): 读取串口缓冲区中的字符串,直到超时或没有更多数据。
  4. 其他功能

    • Serial.flush(): 等待所有传输的数据发送完毕。
    • Serial.end(): 结束串口通信。

头文件

// serial.h头文件
#ifndef SERIAL_H  // 防止头文件被多次包含
#define SERIAL_H#include <Arduino.h>
void serialInit(int baud_rate);   // 初始化函数,输入波特率
void serialPrint(String message); // 串口输出信息#endif

cpp文件

#include "serial.h"// 初始化串口模块(指定波特率)
void serialInit(int baud_rate) {Serial.begin(baud_rate);
}// 打印调试信息
void serialPrint(String message) {// 打印出来的效果是  [时间戳] 消息内容Serial.print("[");Serial.print(millis()); // 打印从开始运行到现在的时间Serial.print("]");Serial.println(message);
}
millis()函数用于返回自程序开始运行以来经过的时间(以毫秒为单位),方便我们了解信息输出的时间

下一篇文章,我们将着重讨论WiFi模块和OLED模块的开发

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

相关文章:

  • 宜春做网站的婚庆公司收费价格表
  • asia域名的网站编程课程
  • 哪个网站建设平台支持花呗分期长沙专业网站建设.
  • 平台网站做数据维护需要多久河南郑州静默管理
  • 怎么建立一个网站卖东西wordpress 没有中文
  • 可以悬赏做任务的叫什么网站舆情网站推荐
  • 东营网站的优化网站的建设建议
  • 综合网站设计平面设计接单的网站
  • 什么系统做购物网站好唐山网站建设唐山
  • 网站后台使用什么做的套网站模板软件
  • wordpress获取文章链接地址永康新站优化
  • 惠州免费建站模板做网站 视频加载太慢
  • 比58同城做的好的网站wordpress安装后输入什么域名
  • 开发网站app公司开发一个网站做爬虫
  • 开一家软件开发公司需要什么邢台seo
  • 国外做电商网站分销工具
  • 厦门本地网站河北建筑培训网登录
  • 百度快照和做网站有关系吗网址你懂我意思正能量不用下载
  • 公司如何建设一个网站网站qq临时会话
  • 齐大胜请于果做网站是第几集秦皇岛找一家能建网站的公司
  • 阿里云 做网站企业网站建设验收
  • 网站建设 需要准备材料wordpress 搜索模版
  • 目前做网站框架医院网站建设 费用
  • 佛山高端网站制作公司哪家好百度推广效果怎样一天费用
  • 淘宝图片做链接的网站甘肃农村网站建设
  • 东莞网站建设 少儿托管wordpress页面加载慢
  • 辽宁建网站网络营销是做什么
  • 外贸公司应该怎样做外贸网站华龙seo排名优化培训
  • 帮别人做app网站门户的兼职荷泽网站建设
  • 保定网站建网站app下载平台怎么做