ESP8266/8285第一次打印HelloWorld

本文详细介绍了ESP8285的开发环境搭建过程,包括安信可一体化开发环境的下载与配置,以及如何导入并编译首个HelloWorld工程。涵盖了SDK下载、工程导入、代码修改、编译、固件下载及串口显示等关键步骤。


ESP8285 : ESP8266 内封 8 Mbit Flash。
如下记录开发环境的搭建以及第一次编译打印HelloWorld。

搭建开发环境

使用安信可一体化开发环境。参考地址: http://wiki.ai-thinker.com/ai_ide_install

软件下载地址:http://pan.baidu.com/s/1skRvR1j
1、我下载了最新的版本,箭头所示。下载后双击exe文件,解压到非中文目录下。
下载箭头所指

2、解压后,如下图所示:按照readme步骤操作,进行相关配置,配置好后打开AiThinker_IDE.exe。
注:register时候以管理员方式运行ConfigTool。出现Unregister表示成功。
解压后

导入工程编译,打印HelloWorld

SDK下载

最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK
解压到非中文路径后请注意以下操作:

  1. 将driver_lib和third_party两个文件夹下面的Makefile文件删除!
  2. 将example文件夹下面的smart_config文件夹复制到主目录,并且重命名app。

导入

  1. 打开AiThinker_IDE,导入项目。选择 File→Import ,
  2. 点开C/C++分支,并选中Existing Code as Makefile Project:
    导入
  3. 点击Browse浏览到你刚刚代码的目录,项目名称随便起,最后选择Cygwin GCC,然后点击Finish,就可以看到我们的工程了。
    在这里插入图片描述

修改

导入成功后先不要急着编译,先修改几个地方。

  1. 修改MAP_SIZE
    在这里插入图片描述
    打开主目录中的makefile文件,修改这两处。
    由于使用的是8285,spi模式要设置为DOUT,否则烧录后跑不起来,会打印err信息。
    而flash为内置8Mbit,也就是1MByte=1024KB,参照82行之后,选择你相应的flash大小。

  2. 修改main入口函数
    然后打开app->user->user_main.c文件,找到user_init函数,这是整个工程的入口函数。
    注释下面三行,我们暂时用不到,增加一行打印Helloworld,然后保存。
    在这里插入图片描述
    多说一句,函数user_pre_init()在sdk3.0中也是必须的,需要在这个函数里面注册自己的分区,接口是system_partition_table_regist()。V2.0版本则没有这个

编译

编译前,把控制台Problems 栏目关掉,据说这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准。
点击工具栏中的Project,先Clean Project,再Build Project。Console中出现以下代码,就表示编译成功了:
在这里插入图片描述

固件下载

地址:烧录软件下载参考地址
我这里使用的是V2.3的版本,大家可以使用新版本。
生成的Bin文件在工程目录的Bin文件夹下,然后我们需要将代码下载到ESP8266上去。
强调:烧录时候,一定要让GPIO0处于低电平,即接GND。
打开下载工具flash_download_tools,参考下图设置好,bin文件就是上面编译生产的两个bin文件,地址要对应好。flash_size取决于你的Flash大小,我的是8Mbit flash,端口号是你的硬件实际端口号,波特率稍大即可。
在这里插入图片描述

串口显示

下载完成后我们打开串口助手,波特率选择76800(这是ESP8266在使用26Mhz晶振下的默认波特率),上电,可以看到打印一些信息后,就打印出我们的“Hello World”来了,关于上电打印信息,是ESP8266底层打印日志。
在这里插入图片描述

第一个HelloWorld就到此结束了。也是第一次写文章,主要还是为了记录和总结,以备以后查看。

### 使用网络调试助手实现STM32和ESP8266的通信 #### 配置环境准备 为了确保能够顺利通过网络调试助手实现STM32与ESP8266之间的通信,需准备好必要的硬件设备以及软件平台。具体来说: - **硬件部分**:采用正点原子出品的ATK-ESP8266模块配合探索者系列基于STM32F407芯片开发板作为实验对象[^3]。 - **软件方面**:安装并配置好支持串口操作的应用程序——即所谓的“网络调试助手”,用于监控数据交换过程中的信息流动情况。 #### 设置网络参数 在网络调试助手中设置合理的连接属性对于建立有效的双向通讯链路至关重要。按照如下指导完成相应选项设定: - “本机IP”字段应填入当前计算机所处局域网内的有效IPv4地址; - 对于“端口号”的选取,则建议挑选一个未被占用的服务端口编号范围之内(通常介于1024至65535之间),以便减少冲突可能性的同时也方便后续排查问题所在; 值得注意的是,在某些情况下操作系统自带的安全防护机制可能会阻止外部尝试发起TCP/IP请求的行为发生,因此如果遇到无法成功握手的情况不妨暂时关闭防火墙服务再试一次看能否解决问题。 #### 编写测试代码 为了让双方可以互相识别对方的存在并向彼此传递消息内容,下面给出一段简单的C语言源码片段来展示如何利用USART接口驱动上述两块单片机间的基础对话流程: ```c // STM32侧发送 "hello_world" void USART_SendData(void){ char *str="hello_world"; while(*str!='\0'){ HAL_UART_Transmit(&huart1,(uint8_t*)str, strlen(str),HAL_MAX_DELAY); str++; } } // ESP8266接收来自STM32的消息,并回复"I am fine" void loop() { if (Serial.available()) { String receivedText = Serial.readString(); Serial.println(receivedText); // 打印接收到的内容 delay(100); const char* responseMessage = "I am fine"; Serial.print(responseMessage); } } ``` 以上就是有关借助第三方工具辅助达成跨MCU交互目标的整体思路概述及其实践方法介绍[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值