Browse Source

at指令修改网络模式

external_Interrupt
tianjialong 2 years ago
parent
commit
ea38c3d458
  1. 6
      MDK-ARM/LWIP.uvguix.29643
  2. 22
      usersrc/atcmd.c
  3. 3
      usersrc/atcmd.h

6
MDK-ARM/LWIP.uvguix.29643

@ -3705,9 +3705,9 @@
</Doc> </Doc>
<Doc> <Doc>
<Name>..\usersrc\atcmd.c</Name> <Name>..\usersrc\atcmd.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>37</TopLine>
<CurrentLine>47</CurrentLine>
<ColumnNumber>5</ColumnNumber>
<TopLine>78</TopLine>
<CurrentLine>110</CurrentLine>
<Folding>1</Folding> <Folding>1</Folding>
<ContractedFolders></ContractedFolders> <ContractedFolders></ContractedFolders>
<PaneID>0</PaneID> <PaneID>0</PaneID>

22
usersrc/atcmd.c

@ -46,7 +46,7 @@ const AT_cmd_func at_cmd_func[] = {
{AT_CMD_IP, "AT+IP=", at_cmd_ip}, {AT_CMD_IP, "AT+IP=", at_cmd_ip},
{AT_CMD_GW, "AT+GW=", at_cmd_gw}, {AT_CMD_GW, "AT+GW=", at_cmd_gw},
{AT_CMD_NETMASK, "AT+NETMASK=", at_cmd_netmask}, {AT_CMD_NETMASK, "AT+NETMASK=", at_cmd_netmask},
{AT_CMD_NETMODULE, "AT+NETMODULE=", NULL},
{AT_CMD_OBTAINING_IP_MODE, "AT+OBTAINING_IP_MODE=", at_cmd_obtaining_ip_mode},
{AT_END, NULL, NULL}}; {AT_END, NULL, NULL}};
@ -102,6 +102,26 @@ AT_STATUS at_cmd_netmask(unsigned char *p, unsigned char len)
at_address_cmd_template(config_get()->netmask); at_address_cmd_template(config_get()->netmask);
} }
AT_STATUS at_cmd_obtaining_ip_mode(unsigned char *p, unsigned char len)
{
if (*p == '?')
{
printf("config obtaining_ip_mode:%d\r\n", config_get()->obtaining_ip_mode);
}
else
{
if (((*p != '0') && (*p != '1')) || (len > 1))
{
printf("AT+ERR\r\n");
return AT_ERR;
}
config_get()->obtaining_ip_mode = *p - 48; /* ascii码字符0十进制为48 */
config_dump_config();
printf("AT+OK\r\n");
}
return AT_SUCCESS;
}
/* 查找指令表中对应的指令 */ /* 查找指令表中对应的指令 */
unsigned char AT_cmd_search(unsigned char *p, unsigned char len) unsigned char AT_cmd_search(unsigned char *p, unsigned char len)
{ {

3
usersrc/atcmd.h

@ -17,7 +17,7 @@ typedef enum
AT_CMD_IP, /* 设置IP */ AT_CMD_IP, /* 设置IP */
AT_CMD_GW, /* 设置网关 */ AT_CMD_GW, /* 设置网关 */
AT_CMD_NETMASK, /* 设置子网掩码 */ AT_CMD_NETMASK, /* 设置子网掩码 */
AT_CMD_NETMODULE, /* 设置网络模式 */
AT_CMD_OBTAINING_IP_MODE, /* 设置网络模式 */
AT_END AT_END
} AT_Cmd; } AT_Cmd;
@ -37,6 +37,7 @@ AT_STATUS at_cmd_test(unsigned char *p, unsigned char len);
AT_STATUS at_cmd_ip(unsigned char *p, unsigned char len); AT_STATUS at_cmd_ip(unsigned char *p, unsigned char len);
AT_STATUS at_cmd_gw(unsigned char *p, unsigned char len); AT_STATUS at_cmd_gw(unsigned char *p, unsigned char len);
AT_STATUS at_cmd_netmask(unsigned char *p, unsigned char len); AT_STATUS at_cmd_netmask(unsigned char *p, unsigned char len);
AT_STATUS at_cmd_obtaining_ip_mode(unsigned char *p, unsigned char len);
unsigned char AT_cmd_search(unsigned char *p, unsigned char len); unsigned char AT_cmd_search(unsigned char *p, unsigned char len);
AT_STATUS at_cmd_parse(unsigned char *p, unsigned char len); AT_STATUS at_cmd_parse(unsigned char *p, unsigned char len);
void at_cmd_processer_push_data(uint8_t rxdata); void at_cmd_processer_push_data(uint8_t rxdata);

Loading…
Cancel
Save