OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5747|回复: 6

esp8266初始化问题

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-2-12
在线时间
9 小时
发表于 2019-2-18 22:08:31 | 显示全部楼层 |阅读模式
1金钱
小白一枚,求各位大神指点。
利用stm32对esp8266写AT指令进行初始化失败,用串口调试助手发现指令已经发出,且无误。
#include "stm32f10x.h"
#include "esp8266.h"
#include "delay.h"
void Send_data(char *s)
{
while(*s!='\0')
{
  while(USART_GetFlagStatus(USART1,USART_FLAG_TC )==RESET);
  USART_SendData(USART1,*s);
  s++;
}
}
void My_esp8266_init(void)
{
     Send_data("AT+CWMODE=2\r\n");
     
     Send_data("AT+RST\r\n");
     
     Send_data("AT+CWSAP=\"i\",\"123456789\",1,3\r\n");
     
     Send_data("AT+CIPMUX=1\r\n");
     
     Send_data("AT+CIPSERVER=1,8086\r\n");

main.c文件如下

#include "stm32f10x.h"
#include  "led.h"
#include  "delay.h"
#include  "esp8266.h"
#include  "uart.h"
extern void My_esp8266_init(void);
extern void My_uart_init(void);
int main(void)
{
My_uart_init();
My_esp8266_init();

     
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-2-19 01:34:00 | 显示全部楼层
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-3-1
在线时间
0 小时
发表于 2019-3-1 12:56:30 | 显示全部楼层
你这个是发送间隔太长了吧~让esp8266以为是一个个的传过来的
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-2-12
在线时间
9 小时
 楼主| 发表于 2019-3-1 16:39:10 | 显示全部楼层
IOTzhang123 发表于 2019-3-1 12:56
你这个是发送间隔太长了吧~让esp8266以为是一个个的传过来的

那该怎么处理,求指教
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2018-12-3
在线时间
40 小时
发表于 2019-3-29 18:33:45 | 显示全部楼层
IOTzhang123 发表于 2019-3-1 12:56
你这个是发送间隔太长了吧~让esp8266以为是一个个的传过来的

这都没有间隔时间吧
回复

使用道具 举报

3

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2018-5-8
在线时间
22 小时
发表于 2019-4-3 17:53:21 | 显示全部楼层
本帖最后由 尹林 于 2019-4-3 18:08 编辑

楼主你的代码看似没什么问题,就是不知道你写的这个代码是否符合该模块的操作流程,比如:发完一条指令之后需要等待应答才能发送下一条指令。

所以楼主给你几条建议:

1、你用别人家的Wi-Fi模块你就应该先去找这个厂家提供的驱动代码,如果找不到就联系这个公司的研发人员要求他们提供这个驱动代码,这是可以的。拿到驱动代码之后你就只需要移植底层串口部分的代码就可以了,上层的那些初始化代码,读写功能实现的什么代码呀,你都不需要动。你只需要调用上层的接口函数就好了

2、如果这个厂家的研发人员始终不给你驱动代码,那就需要你自己写驱动了,先去这个厂家的网站上下载这个模块的使用手册和指令集手册,然后再用USB转串口工具接上这个Wi-Fi模块在电脑端发指令试试,确定电脑端发指令模块能工作了,你再写代码到单片机里面去,这个时候你先别把Wi-Fi模块与单片机连接上,你先测试单片机能正常发出指令,最后确定都没问题了再把Wi-Fi模块与单片机连接上,先直接下载程序看看,如果还是跑不通就打断点一步一步调试。这样子搞基本都没问题了,除非是你的硬件设计不合理,硬件有问题。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-5-27
在线时间
5 小时
发表于 2019-6-5 17:08:14 | 显示全部楼层
尹林 发表于 2019-4-3 17:53
楼主你的代码看似没什么问题,就是不知道你写的这个代码是否符合该模块的操作流程,比如:发完一条指令之后 ...

良心评论啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表