赞
踩
我是一个业余的电子爱好者,会用易语言、e4a等中文的编程,最近玩了几种单片机开发板,使用米思齐进行编程,发现米思齐应对简单的编程还行,功能复杂一些编程就很难使用了,特别是像我这样C语言基础差的朋友,所在在这里把我学习的案例和分析笔记共享给新手朋友,我分析的不一定完全对,但是相关的功能都测试OK了,新手朋友们可以参考学习一下
功能讲解:
笔记:
1.eeprom使用前必须先申请一个内存区域
2.地址的变量一定要是整数型,保存的内容可以是任意型,但是一定要让写和读的变量类型一致,否则读取的值不正确
3.写入操作后一定要执行写入覆盖的操作,写入地址按字符长度需要进行预留偏移
4.每个eeprom操作都需要加一个延时
5.初始化结尾处添加一个延时,有助于解决引脚电平值刚启动时的不稳定
6.WIFI的名称和密码对应的变量类型必须设置为char或者char*
字符串类型转换到char类型的方法(c+语言)
char WIFI[20]; //先声明变量类型;[20]是小标,必须
strcpy(WIFI,字符串.c_str()); //先使用c_str()函数在用strcpy赋值给WIFI
WIFI名称使用变量需要做转换的原因是WIFI.h的功能是使用C语言编写的,其不支持C+语言中新增的字符串变量,故而需要转换
本次案例未采用c_str的方案,而是用字符串变量保存到eeprom中后再用char变量读取
在使用WIFI初始化的模块中,因为代码在变量赋值的前面故而无法编译,可以复制相应的代码放到指定的位置
使用方案:
1.先建一个AP开启udp
2.手机连接上AP,然后使用udp调试工具发送带SSIID和PSK的字符串给ESP32
3.ESP32收到数据后进行分解分别存储SSID和PSK到指定的eeprom地址
4.重启ESP32,重启的过程中会先读取eeprom地址中的SSID和PSK,然后进行WIFI连接
#include <EEPROM.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include <WiFi.h>
#include <WiFiUDP.h>
#include <WiFi.h>
#include <WiFi.h>
#include <PubSubClient.h>
WiFiClient espClient;
P
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。