OpenEdv-开源电子网

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

在ESP-8266模块上使用AP模式,用手机控制精英板的LED成功可是我把代码写成控制了LED后就向手机端发送一条数据可是手机端没收到

[复制链接]

15

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2019-11-6
在线时间
50 小时
发表于 2020-5-6 21:04:39 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 KillerO 于 2020-5-6 21:13 编辑

用电脑端也测试过了,还是收不到,我用的是AP模式下模块作TCP模式,手机为TCP客户端,求大神们帮看看是什么原因
int main(void)
{               
        char a[15];
        delay_init();                                             //Ñóê±oˉêy3õê¼»ˉ          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                         //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
        uart_init(115200);                                         //′®¿ú3õê¼»ˉÎa115200
        usart3_init(115200);                                         //′®¿ú3õê¼»ˉÎa115200
        LED_Init();
         
        esp8266_start_trans();                                                        //esp8266AP模式配置
       
        while(1)
        {
                if(USART3_RX_STA&0x8000)
                {
                        printf("USART3_RX_BUF=%s\r\n",USART3_RX_BUF);
                        sprintf(a,"%s",USART3_RX_BUF);
                        printf("a=%s",a);
                        if(strstr((const char*)a,"on"))  
                        {
                                GPIO_ResetBits(GPIOB,GPIO_Pin_5);
                                esp8266_send_data("LED0 ON!","OK",100);  //·¢Ëíêy¾Y
                        }
                               
                        if(strstr((const char*)a,"off"))
                        {       
                                GPIO_SetBits(GPIOB,GPIO_Pin_5);
                                esp8266_send_data("LED0 OFF!","OK",100);  //·¢Ëíêy¾Y
                        }
                        USART3_RX_STA=0;
                }
        }
}

u8 esp8266_send_data(u8 *data,u8 *ack,u16 waittime)
{
        u8 res=0;
        USART3_RX_STA=0;
        u3_printf("%s",data);        //·¢ËíÃüáî
        if(ack&&waittime)                //Dèòaμè′yó|′e
        {
                while(--waittime)        //μè′yμ1¼Æê±
                {
                        delay_ms(10);
                        if(USART3_RX_STA&0X8000)//½óêÕμ½Æú′yμÄó|′e½á1û
                        {
                                if(esp8266_check_cmd(ack))break;//μÃμ½óDD§êy¾Y
                                USART3_RX_STA=0;
                        }
                }
                if(waittime==0)res=1;
        }
        return res;
}

ESP_8266_LED.zip

3.38 MB, 下载次数: 27

最佳答案

查看完整内容[请看2#楼]

问题解决了,模块作为TCP服务器时,想要发送数据,就要先发送数据长度的命令,例如 atk_8266_send_cmd("AT+CIPSEND=0,25","OK",200); 注意格式不要打错,我之前就想到是这个原因,就是打错了指令格式,导致不成功。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2019-11-6
在线时间
50 小时
 楼主| 发表于 2020-5-6 21:04:40 | 显示全部楼层
问题解决了,模块作为TCP服务器时,想要发送数据,就要先发送数据长度的命令,例如                                atk_8266_send_cmd("AT+CIPSEND=0,25","OK",200);
注意格式不要打错,我之前就想到是这个原因,就是打错了指令格式,导致不成功。
回复

使用道具 举报

0

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2020-5-3
在线时间
0 小时
发表于 2020-5-6 21:09:11 | 显示全部楼层
帮顶,相信大家会帮您解答的
回复

使用道具 举报

15

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2019-11-6
在线时间
50 小时
 楼主| 发表于 2020-5-6 21:13:30 | 显示全部楼层
xf123321 发表于 2020-5-6 21:09
帮顶,相信大家会帮您解答的

回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14360
金钱
14360
注册时间
2018-8-3
在线时间
1154 小时
发表于 2020-5-7 09:42:29 | 显示全部楼层
回复

使用道具 举报

15

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2019-11-6
在线时间
50 小时
 楼主| 发表于 2020-5-7 11:44:11 | 显示全部楼层
翼行园子 发表于 2020-5-7 09:42
看下这个帖子 :www.openedv.com/forum.php?mod=viewthread&tid=295635

我的程序已经能通过手机控制LED了,但是我要的是我控制LED后,单片机通过8266发送一条“LED ON”或者“LED OFF”的字符串给给手机,可是我在程序里这样写了,可是手机没收到,用电脑测试,电脑也没收到
回复

使用道具 举报

15

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2019-11-6
在线时间
50 小时
 楼主| 发表于 2020-5-7 15:44:57 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-23 04:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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