RAK421,调试程序,连入已有热点问题
-
我在调试RAK421,之前运行建立ap的例程已经ok了,现在在修改程序作为STA使用。
运行retval= rak_connect(&rak_strapi.uConnFrame);
返回值为0,这样是不是说明连接热点应该已经成功了?但是热点那边还是显示没有设备连入,可能是什么原因呢?
下图是打印出的返回值,能否对如何检查更正此问题给一些建议?
-
int init_wifi_module(void)
{
int i=0;
int retval=0;rak_init_struct(&rak_strapi); ///ÔÚÕâ¸öº¯ÊýÀﶨÒåÒªÁ¬½ÓµÄssid£¬¶Ë¿ÚµÈ while(!(HAL_GPIO_ReadPin(SPIx_INT_GPIO_PORT,SPIx_INT_PIN))); rak_sys_init(&uCmdRspFrame); for(i = 0; i < 18; i++) { printf("%c",uCmdRspFrame.initResponse.strdata[i]); }
retval= rak_get_version();
if(retval!=RUN_OK)
{
return retval;
}
else
{
RAK_RESPONSE_TIMEOUT(RAK_GETVERSION_TIMEOUT);
rak_read_packet(&uCmdRspFrame);
printf("version=%s\r\n",uCmdRspFrame.versionFrame.host_fw);
rak_clearPktIrq();
}retval=rak_set_psk(&rak_strapi.uPskFrame); if(retval!=RUN_OK) { return retval; } else { RAK_RESPONSE_TIMEOUT(RAK_SETPSK_TIMEOUT); rak_read_packet(&uCmdRspFrame);
// printf("PSK=%s,0X%X\r\n",rak_strapi.uPskFrame.psk,uCmdRspFrame.rspCode[0]) ;
rak_clearPktIrq();
}retval= rak_connect(&rak_strapi.uConnFrame); printf("connect retval=%d\r\n",retval); if(retval!=RUN_OK) { return retval; printf("connect failed,%d\r\n",retval); } else { RAK_RESPONSE_TIMEOUT(RAK_CONNECT_TIMEOUT); rak_read_packet(&uCmdRspFrame); rak_clearPktIrq(); printf("connect is ok\r\n"); }
/ÕâÀïÊÇ´´½¨apʱ²ÅÓÃ/
// retval = rak_set_ipstatic(&rak_strapi.uIpstaticFrame);
// if (retval!=RUN_OK)
// {
// return retval;
// }
// else
// {
// RAK_RESPONSE_TIMEOUT(RAK_CONNECT_TIMEOUT);
// rak_read_packet(&uCmdRspFrame);
// if (uCmdRspFrame.mgmtResponse.status==0)
// {
// printf ("\r\nSet static ip ok!\r\n");
// }
// rak_clearPktIrq();
// }retval = rak_ipconfig_dhcp(RAK_DHCP_CLIENT_ENABLE) ;//ÕâÀï°ÑRAK_DHCP_SERVER_ENABLE¸Ä³ÉRAK_DHCP_CLIENT_ENABLE if (retval!=RUN_OK) { return retval; } else { RAK_RESPONSE_TIMEOUT(RAK_CONNECT_TIMEOUT); rak_read_packet(&uCmdRspFrame); if (uCmdRspFrame.ipparamFrameRcv.status==0) { printf ("IP="); for (i=3;i<=0;i--) { printf ("%d",uCmdRspFrame.ipparamFrameRcv.ipaddr[i]); if (i<3) { printf ("."); } } printf ("\r\n") ; printf ("DHCP OK!\r\n"); } rak_clearPktIrq(); }
}
-
设置的部分,基本是按照原有建立ap的例程修改的。
是否rak_connect函数返回值正确,说明ssid,密码啥的设置没问题啊?
-
请根据流程修改一下宏定义。(更新了设置密码和SSID的位置)
然后参考附件文件编写初始化模块:STA.c