ESP8266 模块介绍—AT指令学习 笔记

news2024/11/24 8:53:24

零、简介

感谢百文网韦东山 老师对ESP8266模块的讲解

笔记在CSDN也有文章备份

大家可以在我的gitee仓库 中下载笔记源文件、ESP8266资料等

笔记源文件可以在Notion中导入

一、ESP8266-01S模块详细介绍

1. 名字的由来

  • ESP8266 是方形的主控芯片
  • 旁边的长方形是一个Flash
  • -01S 是用来区分基于ESP8266芯片做成的型号(种类)
  • 也能称ESP8266-01S为ESP-01S

2. 引脚定义

单片机常用连接方式

3. 与ESP826601对比

  1. ESP8266-01
    • 两个灯,一个为电源,一个为串口信号灯(有串口发送会一闪一闪的)
    • 在接线时还需要把4引脚拉高(官方建议再接个电阻)
  2. ESP8266-01S
    • 一个灯,但为信号灯
    • 正面有ESP-01S的丝印
    • 背面有引脚名称的丝印
    • 在接线时只需要RX、TX、GND和3V3接好就OK了

二、AT指令简介

全程AT command set,AT 是 Attention的缩写。

出自Dennis Hayes,为海斯智能300所开发的一种命令语言。

可以使用指令集 与 设备进行沟通

三、AT指令注意事项

注意事项

  • **不是每条 AT 指令都具备上述 4 种类型的命令。
  • **括号内为缺省值,不必填写或者可能不显示。
  • **使⽤双引号表示字符串数据 ”string”,例如:AT+CWSAP="ESP756290","21030826",1,4
  • **默认波特率为 115200
  • AT 指令必须⼤写,并且以回⻋换⾏符结尾(CR LF)。
  • 对于认识的指令,他会作出处理并返回OK
  • 对于不认识的指令,他会返回ERROR!
  • 指令必须全部大写(其实AT可以小写),
  • 指令必须以\r\n结尾(否则ESP8266会认为是一条指令,直到\r\n换行)
    • CR (Carriage Return) 表示回车
    • LF (Line Feed) 表示换行
    • Dos和Windows采用回车+换行(CR+LF)表示下一行
    • 而UNIX/Linux采用换行符:(LF)表示下一行
    • MAC OS系统采用回车符(CR)表示下一行
    • 所以 Windows下编写的Shell脚本,直接放到linux/unix下执行会报错,就是因为行结束符不一样导致的。
    • \r为回车 \n为换行
  • ESP8266默认的波特率为115200

例如

  • 串口发送:AT ,那么会收到OK
  • 发送AT+RST ,ESP8266会重置,并打印日志,最后输出Ready

AT指令详情参考《ESP8266 Non-OS SDK AT 指令集_V3.0.1.pdf》

四、AT指令的分类和提示信息

1. 四种类型

AT指令可以细分为四种类型

  1. 测试指令
    • 该命令用于该命令用于查询设置指令的参数以及取值范围
    • 指令格式:AT+<x>=?
  2. 查询指令
    • 该命令用于返回参数的当前值。
    • 指令格式:AT+<x>?
  3. 设置指令
    • 该命令用于设置用户自定义的参数值。
    • 指令格式:AT+<x>=<…>
  4. 执行指令
    • 该命令用于执行受模块内部程序控制的参数不可变的功能,
    • 指令格式:AT+<x>

2. 简单测试

例如可以使用测试指令查看取值列表、查询指令查询当前模式是什么、设置指令设置当前模式。

串口工具测试发送如下

3. CUR与DEF

附录A:

AT指令有一部分分为保存到Flash和不保存到Flash 显然,保存到Flash的下次开机仍会保持,而临时的则在下次掉电 或 重启后恢复原状 保存到Falash的指令会在手册的附录中列出(大部分的指令都有后缀DEF,是definite 明确的 的缩写。) 那么临时改变的话,后缀就是CUR(是current 当前的 的缩写) 如果不加后缀,那么默认是保存在Flash中的,即带DEF后缀 例如AT+CWMODE=3(AT+CWMODE_DEF=3)

4. 提示信息

附录B:

提示信息说明
readyAT 固件成功启动
ERROR指令输入错误,或者指令执行出错
WIFI CONNECTEDESP8266 station 连接到 AP
WIFI GOT IPESP8266 station 获取到 IP 地址
WIFI DISCONNECTESP8266 station 的 WiFi 连接断开
busy s...busy sending,表示系统正在发送数据的过程中,无法响应当前输入
busy p...busy processing,表示系统正在处理前一条指令,无法响应当前输入
<conn_id>,CONNECT建立了 <conn_id> 号网络连接
<conn_id>,CLOSED<conn_id> 号网络连接断开
+IPD接收到网络数据
+STA_CONNECTED:<sta_mac>有 station 连入 ESP8266 softAP
+DIST_STA_IP:<sta_mac>,<sta_ip>ESP8266 softAP 给连入的 station 分配 IP 地址
+STA_DISCONNECTED:<sta_mac>station 从 ESP8266 softAP 断开连接

五、使用AT指令的简单方法

使用AT指令的大概步骤:

  • 打开AT文档
  • 找到指令所在的位置
  • 查看指令说明
    • 指令类型
    • 相应信息
    • 注意事项
    • 参数说明
    • 指令示例

六、AT指令应用示例

以下示例,均来自乐鑫官方的《ESP8266 AT 指令使⽤示例.pdf》文档

1. TCP 单连接 Client

  1. 配置 WiFi 模式:

    • 使用命令 “AT+CWMODE=3”,设置为可连可被连模式。
    • 响应:OK。
  2. 连接路由器(热点):

    • 使用命令 “AT+CWJAP="SSID","password"”(其中 SSID 是 wifi 名称,后者为密码)。
    • 响应:OK。
  3. 查询 ESP8266 设备的 IP 地址:

    • 使用命令 “AT+CIFSR”。

    • 响应:

      +CIFSR:APIP,"192.168.4.1"
      +CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
      +CIFSR:STAIP,"192.168.3.133"
      +CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
      OK
      
  4. PC 与 ESP8266 设备连接同一路由器,在 PC 端使用网络调试工具,建立一个 TCP 服务器。

    • 假设 PC 创建的服务器 IP 地址为 192.168.3.116,端口为 8080。
      • 这里使用了网络调试工具,监听PC端所处的网关
  5. ESP8266 设备作为 TCP client 连接到上述服务器:

    • 使用命令 “AT+CIPSTART="TCP","192.168.3.116",8080” (protocol、server IP 和 port)(协议、IP地址、端口)。
    • 响应:OK。
  6. ESP8266 设备向服务器发送数据:

    • 使用命令 “AT+CIPSEND=4”(设置要发送的数据长度,例如 4 字节)。
    • 输入 1234”(输入数据,无回车符)。
    • 响应:Recv 4 bytes  SEND OK。
  7. 当 ESP8266 设备接收到服务器发来的数据,将提示如下信息:

    • “+IPD,n:xxxxxxxxxx”

    • n指接收到的字节,后面的xx为接收到的数据

    • 例如 默认这里的3,指的是接收到3字节(因为发送时有\r\n换行回车,他们各占一个字节)(中文每个占2字节

      +IPD,7:11222
      +IPD,3:1
      +IPD,8:你人呢
      

2. UDP 传输_固定远端的UDP通信

基础配置:

  1. 配置 WiFi 模式: AT+CWMODE=1
  2. 连接路由器(热点):AT+CWJAP="SSID","password
  3. 查询 ESP8266 设备的 IP 地址: AT+CIFSR

UDP 通信步骤

UDP 通信远端固定规则:AT+CIPSTART 指令的最后一个参数设置为 0 决定UDP通信远端固定 。系统会分配一个连接号给这个固定连接,UDP 通信双方不会被其他设备替代。

假设,PC 创建的 UDP ⾃身 IP 地址为 192.168.118.168,端⼝为 25563

  1. 使能多连接:AT+CIPMUX=1

    • 多连接模式 (AT+CIPMUX=1) 时,设置指令: AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,(<UDP local port>),(<UDP mode>)]
    • <link ID>:⽹络连接 ID (0 ~ 4),⽤于多连接的情况 • <type>:字符串参数,连接类型,"TCP","UDP"或"SSL" • <remote IP>:远端 IP 地址,字符串参数 • <remote port>:远端端⼝号 • [<UDP local port>]:UDP 传输时,设置本地端⼝ • [<UDP mode>]:UDP 传输的属性,若透传,则必须为 0 ‣ 0:收到数据后,不更改远端⽬标,默认值为 0 ‣ 1:收到数据后,改变⼀次远端⽬标 ‣ 2:收到数据后,改变远端⽬标
  2. 创建 UDP 传输,例如连接号为 4 的指令为 AT+CIPSTART=4,"UDP","192.168.118.168",25563,9090,0 响应为 4,CONNNECT 和 OK。

    参数说明如下:

    • "192.168.118.168", 25563UDP 传输的远端 IP 和端⼝,即前⽂中 PC 建⽴的 UDP 端⼝;
    • 9090为 ESP8266 本地的 UDP 端⼝,⽤户可⾃⾏设置,如不设置则为随机值;
    • 0 表示当前 UDP 传输建⽴后,UDP 远端不会被其他设备更改;即使有其他设备通过 UDP 协议发数据到

    ESP8266 UDP 端⼝ 1112ESP8266 的第 4UDP 传输的远端也不会被替换,使⽤指令

    “AT+CIPSEND=4, X” 发送数据,仍然是当前固定的 PC 端收到。

  3. 发送数据:AT+CIPSEND=4,7,输入 “UDPtest”,响应为 Recv 7 bytes 和 SEND OK。

  4. 接收数据时,ESP8266 设备会提示 “+IPD,4,n:xxxxxxxxxx”

  5. 断开 UDP 传输:AT+CIPCLOSE=4,响应为 4,CLOSED 和 OK。

3. UDP 传输_远端可变的UDP通信

基础配置:

  1. 配置 WiFi 模式: AT+CWMODE=1
  2. 连接路由器(热点):AT+CWJAP="SSID","password
  3. 查询 ESP8266 设备的 IP 地址: AT+CIFSR

UDP 通信远端可改变的情况:当使用 AT+CIPSTART 指令创建 UDP 通信,将最后一个参数设置为 2 时,UDP 通信的远端可改变。

UDP 通信步骤

(这里不需要使能多连接)

  1. 创建 UDP 传输:AT+CIPSTART="UDP","192.168.118.168",25563,9090,2,响应为 CONNNECT 和 OK。
  2. 发送数据AT+CIPSEND=7,输入 “UDPtest”,响应为 Recv 7 bytes 和 SEND OK。 (这里不需要再和AT+CIPSEND=4,7一样,指定网络连接ID*)*
  3. 发送数据到其他指定远端,例如发数据到 192.168.118.168,端口25563:AT+CIPSEND=7," 192.168.118.168",25563,输入 “UDPtest”,响应为 Recv 7 bytes 和 SEND OK。

参数说明:192.168.118.168",25563为 UDP 传输的远端 IP 和端口;9090为 ESP8266 本地的 UDP 端口,用户可自行设置,如不设置则为随机值;2 表示当前 UDP 传输建立后,UDP 传输远端会自动更改为最近一个与 ESP8266 UDP 通信的远端。

注意事项:发送数据时,如果输入的字节数超过了设置长度(n),系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK,超出长度的部分数据被认为是无效数据,不被接受。

接收数据时,ESP8266 设备会提示 “+IPD,n:xxxxxxxxxx”

  1. 断开 UDP 传输:AT+CIPCLOSE,响应为 CLOSED 和 OK。

4. TCP 单连接 透传

  • 透传 就是 透明传输就是在传输过程中,对外界透明,就是说你看不见他是传送网络,不管传输的业务如何,我只负责将需要传送的业务传送到目的节点,相当于一条数据线或者串口线,同时保证传输的质量即可,而不对传输的业务进行处理。
  • ESP8266 AT 默认仅在 TCP client 单连接或 UDP 传输模式时,⽀持透传。

一、ESP8266 透传功能概述

  • ESP8266 可作为 station 实现 TCP client 单连接透传,作为 softAP 也可同理实现透传。

二、配置步骤

  1. 配置 WiFi 模式
    • 指令:AT+CWMODE=3,设置为 softAP+station 模式。
    • 响应:OK。
  2. 连接路由器
    • 指令:AT+CWJAP="SSID","password",输入路由器的 SSID 和密码。
    • 响应:OK。
  3. 查询 IP 地址
    • 指令:AT+CIFSR。
    • 响应:显示 APIP、APMAC、STAIP、STAMAC 等信息,如 +CIFSR:APIP,"192.168.4.1"、+CIFSR:APMAC,"1a:fe:34:a5:8d:c6"、+CIFSR:STAIP,"192.168.3.133"、+CIFSR:STAMAC,"18:fe:34:a5:8d:c6"。
    • 响应:OK。
  4. PC 端操作与连接
    • PC 与 ESP8266 设备连接同一路由器,在 PC 端使用网络调试工具,建立一个 TCP 服务器。假设 PC 创建的服务器 IP 地址为 192.168.3.116,端口为 8080。
  5. ESP8266 作为 TCP client 连接服务器
    • 指令:AT+CIPSTART="TCP","192.168.3.116",8080,指定协议、服务器 IP 和端口。
    • 响应:OK。
  6. 使能透传模式
    • 指令:AT+CIPMODE=1。
    • 响应:OK。
    • 注意**(此设置不保存到flash透传模式传输时,如果连接断开,ESP8266 会不停尝试重连,此时单独输入 +++ 退出透传,则停止重连;普通传输模式则不会重连,提示连接断开。)**
  7. ESP8266 设备向服务器发送数据
    • 指令:AT+CIPSEND。
    • 响应:>,表示从此时起,从 UART 接收的数据将自动传输到服务器。
    • 注意:每次发送(每包)最大2048个字节,或者每包20ms间隔区分
  8. 退出发送数据
    • 在透传发送数据过程中,若识别到单独的一包数据 “+++”,则退出透传发送。 建议使用串口工具一次性发送 “+++”,且不要携带空格或换行符等不可见字符。 之后,至少间隔 1 秒,再发下一条 AT 指令。
  9. 退出透传模式
    • 指令:AT+CIPMODE=0。
    • 响应:OK。
  10. 断开 TCP 连接
  • 指令:AT+CIPCLOSE。
  • 响应:CLOSED、OK。

5. UDP 透传

一、ESP8266 UDP 透传功能概述

  • ESP8266 作为 softAP 可实现 UDP 透传,作为 station 同理可实现。

二、配置步骤

  1. 配置 WiFi 模式
    • 指令:AT+CIMODE=3,设置为 softAP+station 模式。
    • 响应:OK(假设此处应有 OK 响应)。
  2. PC 连入 ESP8266 softAP:无特定指令,在 PC 上选择 ESP8266 的无线网络连接。
    • 模块和PC接入同局域网也可

  1. PC 端建立 UDP 传输
    • 在 PC 端使用网络调试工具,建立一个 UDP 传输。假设 PC 创建的 UDP 自身 IP 地址为 192.168.4.2,端口为 1001。
  2. ESP8266 建立 UDP 传输
    • 指令:AT+CIPSTART="UDP", "192.168.4.2",1081,2233,0。
    • 响应:OK(假设此处应有 OK 响应)。
  3. 使能透传模式
    • 指令:AT+CIPMODE=1。
    • 响应:OK。
  4. ESP8266 设备向服务器发送数据
    • 指令:AT+CIPSEND。
    • 响应:>,表示从此时起,从 UART 接收的数据将自动传输到服务器。
    • 注意:发送数据时,如果输入的字节数超过了设置长度 (n),系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。超出长度的部分数据被认为是无效数据,不被接受。
  5. 退出发送数据
    • 在透传发送数据过程中,若识别到单独的一包数据 “+++”,则退出透传发送。建议使用串口工具一次性发送 “+++”,且不要携带空格或换行符等不可见字符。之后,至少间隔 1 秒,再发下一条 AT 指令。
    • 注意:“+++” 退出透传发送数据,回到正常 AT 指令模式。此时,TCP 连接仍然是保持的,可以再发 AT+CIPSEND 指令,重新开始透传。
  6. 退出透传模式
    • 指令:AT+CIPMODE=0。
    • 响应:OK。
  7. 断开 UTP 连接
    • 指令:AT+CIPCLOSE。
    • 响应:CLOSED、OK。

6. 多连接 TCP Server

一、ESP8266 多连接 TCP Server 功能概述

  • ESP8266 AT 仅支持建立一个 TCP 服务器,且必须使能多连接,允许连接多个 TCP client。ESP8266 作为 softAP 可建立 TCP 服务器,作为 station 在连接路由后同理可建立服务器。

二、配置步骤

  1. 配置 WiFi 模式

    • 指令:AT+CWMODE=3,设置为 softAP+station 模式。
    • 响应:OK(假设此处应有 OK 响应)。
  2. 使能多连接

    • 指令:AT+CIPMUX=1。(AT+CIPSERVER=<mode>[,<port>])

    • 响应:OK。

  3. 建立 TCP server

    • 指令:AT+CIPSERVER=1(默认端口为 333)。
    • 响应:OK。
  4. PC 连入 ESP8266 softAP:无特定指令,在 PC 上选择 ESP8266 的无线网络连接。

    • 模块和PC接入同局域网也可
  5. PC 端建立多个 TCP client 连接 ESP8266 的 TCP server:在 PC 端使用网络调试工具建立一个 TCP client,连接 ESP8266 的 TCP server。

  6. 如果要显示端口和IP可以使能这个

  7. 断开链接

    AT+CIPCLOSE=1

注意:

ESP8266 作为 TCP server 有超时机制,如果连接建⽴后,⼀段时间内⽆数据来往,ESP8266 TCP server 会将 TCP client 踢掉。因此,请在 PC TCP client 连上 ESP8266 TCP server 后建⽴⼀个 2s 的循环数据发送,⽤于保持连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IO编程——消息队列

题目&#xff1a; 代码实现&#xff1a; #include <myhead.h> //正文大小 #define MSGSZ (sizeof(struct msgbuf)-sizeof(long)) //定义要发送的消息类型 struct msgbuf{long msgtype; //消息类型char mtext[1024]; //消息正文 };int main(int argc, const char *ar…

全面升级:亚马逊测评环境方案的最新趋势与实践

在亚马逊测评领域深耕多年&#xff0c;见证了无数环境方案的更迭与演变&#xff0c;每一次变化都体现了国人不畏艰难、勇于创新的精神。面对平台的政策调整&#xff0c;总能找到相应的对策。那么&#xff0c;当前是否存在一套相对稳定且高效的技术方案呢&#xff1f;答案是肯定…

【计网】从零开始理解TCP协议 --- 拥塞控制机制,延迟应答机制,捎带应答,面向字节流

时间就是性命。 无端的空耗别人的时间&#xff0c; 其实是无异于谋财害命的。 --- 鲁迅 --- 从零开始理解TCP协议 1 拥塞控制2 延迟应答3 捎带应答4 面向字节流5 TCP异常情况TCP小结 1 拥塞控制 尽管TCP拥有滑动窗口这一高效的数据传输机制&#xff0c;能够确保在对方接收…

基于卷积神经网络的蔬菜识别系统,resnet50,mobilenet模型【pytorch框架+python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 基于卷积神经网络的蔬菜识别系统&#xff0c;resnet50&#xff0c;mobilenet【pytorch框架&#xff0c;python&#xff0c;tkinter】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神…

关于vue3中如何实现多个v-model的自定义组件

实现自定义组件<User v-model"userInfo" v-model:gender"gender"></User> User组件中更改数据可以同步更改父组件中的数据&#xff1a; 1 父组件&#xff1a; <User v-model"userInfo" v-model:gender"gender">&…

ROUGE:摘要自动评估软件包

算法解析 ROUGE&#xff08;Recall-Oriented Understudy for Gisting Evaluation&#xff09;是一组用于自动评估文本摘要质量的指标&#xff0c;主要通过比较机器生成的摘要与一个或多个参考摘要之间的重合程度来衡量。ROUGE 包括多个变体&#xff0c;其中最常用的有 ROUGE-N…

基于Java微信小程序的的儿童阅读系统的详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不…

WebGoat SQL Injection (intro) 源码分析

首先了解 java 中 mysql 的连接&#xff1a;java连接Mysql WebGoat SQL Injection (intro) 10 根据提示&#xff1a;下面两个输入框只有一个受到 sql 注入攻击。题目要求是检索到所有数据 发现请求路径为 SqlInjection/assignment5b 定位到所在文件如下&#xff0c;根据代码…

基于递推式最小二乘法的PMSM参数辨识MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 最小二乘法是一种回归估计法&#xff0c;适用于被辨识的参数与系统输出为线性关 系的情况。它是在一定数据量下&#xff0c;基于系统输出误差的平方和最小的准则对参 数进行辨识的方法。此模型通过…

使用Flask实现本机的模型部署

前言 模型部署是指将大模型运行在专属的计算资源上&#xff0c;使模型在独立的运行环境中高效、可靠地运行&#xff0c;并为业务应用提供推理服务。其目标是将机器学习模型应用于实际业务中&#xff0c;使最终用户或系统能够利用模型的输出&#xff0c;从而发挥其作用。 一、设…

unity 屏幕波动反馈打击效果(附资源下载)

unity 屏幕波动反馈打击效果 一枪打出去整个屏幕都回波动的效果反馈。 知识点&#xff1a; 1、动画事件 2、屏幕后处理 效果如图&#xff1a;&#xff08;波动速度浮动都可调整&#xff09; 附件下载

TH-OCR:高效的文字识别工具与护照阅读器的完美结合

在数字化的时代&#xff0c;高效准确的文字识别工具变得越来越重要。今天我要给大家介绍一下 TH-OCR。 TH-OCR 是一款功能强大的文字识别软件&#xff0c;它能够快速准确地识别各种文档中的文字&#xff0c;大大提高了工作效率。 而其中&#xff0c;TH-OCR 在护照阅读器方面的应…

Gitlab 完全卸载–亲测可行

1、停止gitlab gitlab-ctl stop2.卸载gitlab&#xff08;注意这里写的是gitlab-ce&#xff09; rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程&#xff08;就是带有好多.............的进程&#xff09; 5、删除所有包含gitlab文件 find / …

工业自动化为什么依赖光耦隔离器 --- 腾恩科技

光耦合器隔离器在工业自动化中必不可少&#xff0c;可确保信号传输&#xff0c;同时保护敏感电子设备和人员免受高压影响。选择合适的光耦合器隔离器取决于对操作环境和隔离要求的了解。本文将重点介绍在为工业应用选择光耦合器隔离器时需要考虑的关键因素。 光耦合器隔离器在工…

电影评论网站开发:Spring Boot技术指南

3系统分析 3.1可行性分析 通过对本电影评论网站实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本电影评论网站采用SSM框架&#xff0c;JAVA作为开发语言&#…

python获取当前鼠标位置的RGB值

效果 依赖 pip install Pillow pyautoguisudo apt install gnome-screenshot代码 import pyautogui import timedef get_rgb_at_mouse():try:while True:# 获取当前鼠标的位置x, y pyautogui.position()# 截取当前屏幕图像screenshot pyautogui.screenshot()# 获取鼠标位置…

【C语言备课课件】(下)指针pointer

目录 定义type *var_name;初始化int *p &a; // p指向变量a的地址 空指针NULL,野指针&#xff0c;指针悬挂 解引用指针的算术运算指针与数组 数组名—首指针二维数组指针 行指针列指针 多级指针&#xff08;进阶&#xff09;数组指针,指针数组&#xff08;进阶&#xff09…

ZYNQ:流水灯实验

实验目的 PL_LED0 和 PL_LED1 连接到 ZYNQ 的 PL 端&#xff0c;PL_LED0 和 PL_LED1循环往复产生流水灯的效果&#xff0c;流水间隔时间为 0.5s。 原理图 程序设计 本次实验是需要实现两个LED的循环熄灭点亮&#xff0c;时间间隔是0.5S,对时间间隔的控制使用计数器来完成。本…

改变函数调用上下文:apply与call方法详解及实例

目录 改变函数调用上下文&#xff1a;apply与call方法详解及实例 一、什么是 apply 方法&#xff1f; 1、apply 语法 2、apply 示例 二、什么是 call 方法&#xff1f; 1、call 语法 2、call 示例 三、apply 和 call 的共同与差异 1、apply 和 call 的共同点 2、apply…

一文读懂什么是数据即产品(Data as a Product,DaaP)

企业每天都要产生并消费大量数据&#xff0c;但如果这些数据一直保持在原始格式&#xff0c;就很难真正应用起来。因此&#xff0c;为了充分发挥数据的最大潜力&#xff0c;必须改变组织内部处理数据的方式。 “数据即产品”&#xff08;DaaP&#xff09;就是这样一种思维方式…