初级会员

- 积分
- 106
- 金钱
- 106
- 注册时间
- 2016-6-7
- 在线时间
- 29 小时
|
1金钱
char rec[6],*p2;
...
...
...
if(USART3_RX_STA&0X8000) //接收到一次数据了
{
rlen=USART3_RX_STA&0X7FFF; //得到本次接收到的数据长度
USART3_RX_BUF[rlen]=0; //添加结束符
//************************************
for(i=0;i<rlen;i++)
{
rec[i]=USART3_RX_BUF[i];
}
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的控制呢???
谢谢!!! |
|