完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
char rec[6],*p2;
... ... ... if(USART3_RX_STA&0X8000) //接收到一次数据了 { rlen=USART3_RX_STA&0X7FFF; //得到本次接收到的数据长度 USART3_RX_BUF[rlen]=0; //添加结束符 //************************************ for(i=0;i rec=USART3_RX_BUF; } p2=rec; if(strcmp(p2,“open”)==0) { LED1=0; memset(rec,0,strlen(rec)); } if(strcmp(p2,"close")==0) { LED1=1; memset(rec,0,strlen(rec)); //清除rec数组 } //********************************* 想实现在WIFI模块ap 客户端模式下通过网络助手发送open和close控制战舰版的led1亮灭,所以在程序源码wifiap.c中接受数据的地方加入了一段判断数据的代码,程序编译通过,下载到板上,调到ap客户端模式 正常通信以后,发送open, tft屏幕上显示接受到4个字节open. 但是led1不亮。 如果将 if(strcmp(p2,“open”)==0)改成if(strcmp(p2,“open”)!=0) LED1=!LED1;这时led1可以实现翻转。 这样的话就表明我发送的open, 和它接受到的open不相等, 请问是哪里出问题了,怎么修改能实现对led的控制呢??? 谢谢!!! |
|
相关推荐
2个回答
|
|
看看是不是P2指向的字符串里面,没有结束符的原因。
|
|
|
|
谢谢原子哥!果然是这个原因,改成“i<=rlen”就可以了。
******************************************************* 这个问题解决了,还有个问题如下: 当选择ap服务器模式时,发送open, 屏幕显示接受15个字节 +IPD,0,4,pen 问题1:我发送的open是4个字节,“+IPD,0,4:”是9个字节,加上结束符“0”是1个字节 4+9+1=14 还有一个字节是哪里来的? 问题2:接受到的15个字节最后5位是不是open和结束符,假如是的话 做如下测试: for(i=10;i<=rlen;i++) { rec[j]=USART3_RX_BUF; j++; //前面定义了int j=0; } p2=rec; 数据判断代码同客户端模式,编译通过,能发送数据,但是灯不亮, 判断改为if(strcmp(p2,“open”)!=0) LED1=!LED1;能实现灯的翻转。 这个是那里出问题了,怎么解决?? 辛苦了原子哥,十分感谢!!! |
|
|
|
只有小组成员才能发言,加入小组>>
6906 浏览 9 评论
2264 浏览 2 评论
为什么我用esp8266做TCP服务器网络调试助手一直连接不上去?
9075 浏览 3 评论
为什么我的ESP8266 AT指令一直返回error无法正常使用?
6833 浏览 0 评论
3991 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 15:30 , Processed in 1.002558 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号