fix bug: config_w5500_network

This commit is contained in:
TXuian 2022-11-25 16:57:19 +08:00
parent bf6cfbac35
commit 662cd1a944
1 changed files with 6 additions and 9 deletions

View File

@ -473,8 +473,8 @@ void ifconfig() {
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC), SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
ifconfig, ifconfig, printf w5500 configurations); ifconfig, ifconfig, printf w5500 configurations);
void char_arr_assign(uint8_t *dst[4], uint32_t src[4]) { void char_arr_assign(uint8_t **dst, uint32_t *src, int len) {
for (int i = 0; i < 4; ++i) { for (int i = 0; i < len; ++i) {
(*dst)[i] = (uint8_t)(src[i]); (*dst)[i] = (uint8_t)(src[i]);
} }
} }
@ -502,18 +502,15 @@ void config_w5500_network(int argc, char *argv[]) {
&tmp_arr[2], &tmp_arr[3]); &tmp_arr[2], &tmp_arr[3]);
if (memcmp(argv[cur_arg_idx], network_param_name[0], 2 * sizeof(char)) == if (memcmp(argv[cur_arg_idx], network_param_name[0], 2 * sizeof(char)) ==
0) { 0) {
for (int i = 0; i < 4; ++i) { char_arr_assign((uint8_t **)&wiz_netinfo.ip, tmp_arr, 4);
wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]); // for (int i = 0; i < 4; ++i) {
} // wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]);
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.ip[0], // }
wiz_netinfo.ip[1], wiz_netinfo.ip[2], wiz_netinfo.ip[3]);
} else if (memcmp(argv[cur_arg_idx], network_param_name[1], } else if (memcmp(argv[cur_arg_idx], network_param_name[1],
2 * sizeof(char)) == 0) { 2 * sizeof(char)) == 0) {
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]); wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]);
} }
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.sn[0],
wiz_netinfo.sn[1], wiz_netinfo.sn[2], wiz_netinfo.sn[3]);
} else if (memcmp(argv[cur_arg_idx], network_param_name[2], } else if (memcmp(argv[cur_arg_idx], network_param_name[2],
2 * sizeof(char)) == 0) { 2 * sizeof(char)) == 0) {
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {