OpenEdv-开源电子网

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

用stm32使ESP8266建立热点 电脑能连上但是网络调试助手无法连接

[复制链接]

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
发表于 2018-10-9 17:04:03 | 显示全部楼层 |阅读模式
1金钱
我用串口和esp8266直接接在电脑上是可以用wifi模块建立热点。同时电脑可以连上此wifi实现交流。但是把代码烧录进板子后,用串口7和wifi模块交流,也能建立热点,电脑也能连接此热点,但是网络调试助手无法连接,希望有前辈指点一下

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

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-9 18:10:38 | 显示全部楼层
网络调试助手你用什么模式连接
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-10 09:01:07 | 显示全部楼层
1208 发表于 2018-10-9 18:10
网络调试助手你用什么模式连接

我用的TCL CLient
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-10 09:02:29 | 显示全部楼层
1208 发表于 2018-10-9 18:10
网络调试助手你用什么模式连接

之前用wifi模块直接接usb转ttl连接电脑是没有问题的,我不知道为什么用单片机建立热点就出问题了... 难道是16进制转换错了?
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-10 09:50:57 | 显示全部楼层
xiaosusu 发表于 2018-10-10 09:02
之前用wifi模块直接接usb转ttl连接电脑是没有问题的,我不知道为什么用单片机建立热点就出问题了... 难道 ...

ATK_ESP8266 模块仅在 TCP Client 和 UDP, 支持透传模式。网络助手用服务器模式,不需要16进制转换吧
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-10 10:34:36 | 显示全部楼层
1208 发表于 2018-10-10 09:50
ATK_ESP8266 模块仅在 TCP Client 和 UDP, 支持透传模式。网络助手用服务器模式,不需要16进制转换吧

emmm  在此处我是在单片机代码中,把AT指令写成16进制,通过串口发送给wifi模块。现在我已经解决无法连接的问题了...然而又有了新的问题,当电脑连接到热点后,打开网络助手,发送1应该能翻转led,但是我不晓得为啥没反应,这里的代码应该挺简单的,您看一下呗
        while(1)
        {
                if(UART7_RX_STA&0x8000)
                {                                          
                        len=UART7_RX_STA&0x3fff;

                        if(UART7_RX_BUF[len-1]==0x31)
                          LED1=!LED1;

                        UART7_RX_STA=0;
                }
        }
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-10 10:36:27 | 显示全部楼层
之前不能正常连接网络调试助手是因为我没有把AT指令对应的16进制数目数清楚,发送数据的时候对应不一致
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-10 11:47:27 | 显示全部楼层
改成这样试下
                             if (USART_RX_BUF[0]=='0')
                                      {               
                                              LED0=0;                                                        
                                              printf("LED0亮\n");        
                                              delay_ms(1000);
                                
                                        }               
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-12 09:37:08 | 显示全部楼层
1208 发表于 2018-10-10 11:47
改成这样试下
                             if (USART_RX_BUF[0]=='0')
                               ...

前辈,我按照你的操作,也不行。我用硬件调试,发现每次都进不去接收中断,然后我就把接收中断改了,之前用的接受中断是咱们原子例程的:
if((USART_RX_STA&0x8000)==0)
        {
                        if(USART_RX_STA&0x4000)
                        {
                                if(Res!=0x0a)USART_RX_STA=0;
                                else USART_RX_STA|=0x8000;       
                        }
                        else
                        {       
                                if(Res==0x0d)USART_RX_STA|=0x4000;
                                else
                                {
                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                        USART_RX_STA++;
                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;
                                 }                 
                        }
                }                    
直接改成了:if(USART_GetITStatus(UART7, USART_IT_RXNE) != RESET)  
        {
                USART_ClearITPendingBit(UART7,USART_IT_RXNE);
                Res =USART_ReceiveData(UART7);//(USART1->DR);       
        }

下面这个        if(USART_GetITStatus(UART7, USART_IT_RXNE) != RESET)  
        {
                USART_ClearITPendingBit(UART7,USART_IT_RXNE);
                Res =USART_ReceiveData(UART7);//(USART1->DR);
       }
是一定能进的。 我现在就不知道为什么,我用网络调试助手发1,Res读取的数是10,而且一直是10.
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-12 10:33:40 | 显示全部楼层
xiaosusu 发表于 2018-10-12 09:37
前辈,我按照你的操作,也不行。我用硬件调试,发现每次都进不去接收中断,然后我就把接收中断改了,之前 ...

你发送函数怎么写,有没用到USART_RX_BUF[0],可以清USART_RX_BUF[0]的数值
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-12 11:03:46 | 显示全部楼层
1208 发表于 2018-10-12 10:33
你发送函数怎么写,有没用到USART_RX_BUF[0],可以清USART_RX_BUF[0]的数值

没用到这个,我用的很直接的方法
for(t=0;t<14;t++)
        {
                USART_SendData(UART7, at_cwmode[t]);        
                while(USART_GetFlagStatus(UART7,USART_FLAG_TC)!=SET);
        }
就直接配置wifi模块
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-12 11:13:15 | 显示全部楼层
嗯嗯!那你再试下
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-12 11:17:57 | 显示全部楼层
1208 发表于 2018-10-12 11:13
嗯嗯!那你再试下

好的 谢谢啦
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2018-10-12 11:19:03 | 显示全部楼层
1208 发表于 2018-10-12 11:13
嗯嗯!那你再试下

好的 谢谢啦
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-7-26
在线时间
5 小时
发表于 2019-9-15 10:20:56 | 显示全部楼层
楼主,你的网络调试助手在TCP Client情况下连接不上,是怎样解决的
回复

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-12-31
在线时间
40 小时
 楼主| 发表于 2022-4-2 17:37:01 | 显示全部楼层
见色不迷真 发表于 2019-9-15 10:20
楼主,你的网络调试助手在TCP Client情况下连接不上,是怎样解决的

不好意思,再次看到帖子已经过去太久了,回忆不到了...
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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