上个微博写了关于手机和WIFI模块,通过串口借助PC和Android手机相互通信,这一次想通过手机与单片机直接互相通信,过程其实都是一样的,但需要修改一下之前写的单片机硬件的代码,只需要在主函数中增加一块代码即可。
我要完成的功能简单,这里简单叙述一下:
只需要通过单片机按键,按一下使得单片机通过串口给手机发送一串字符串“wangting”,在主函数中添加的代码如下:
if(0 == P32){ms_delay(400);if(0 == P32){ES = 0;TI = 1; printf("AT+CIPSEND=?\r\n");LED();ms_delay(1000) ;printf("AT+CIPSEND=0,10\r\n");LED();ms_delay(1000) ;printf("wangting\r\n");LED(); ms_delay(1000) ;LED();ms_delay(1000) ;LED();ms_delay(1000) ;while(!TI);TI = 0;ES = 1;}while(0 == P32);}
P32是接在P3^2口的按键,其它的At命令之前都解释过,只是
LED();
ms_delay(1000) ;
是为了在按键按下使得灯闪烁,表明按键被触发了,便于观察效果,调试方便而已。
现在将其正确连接到单片机上,将代码烧到单片机中,使用手机调试助手进行通信。
验证分成两步:
一、验证上次手机下发命令的功能:控制单片机上的LED灯亮灭。
这个功能大家可以验证,我这里就不作多说。
二、验证按键按下手机端接受数据的功能:也就是按键按一下,手机调试助手就能收到一串字符“wangting”
现在我们来验证第二步:
手机打开手机助手,正确连接到WIFI模块中,然后按下按键,观察TCP Client端是否能接受到单片机上传的所需字符串。
上传的效果如图:
可见已经验证成功,下一篇将是写属于自己的APP,来显示上传数据和执行下发数据或命令的功能。期待吧,^_^