---
title: "Wizfi360 AT 커맨드 CWJAP, CIPSTART 문제"
url: "https://maker.wiznet.io/forum/15801"
markdown_url: "https://maker.wiznet.io/forum/15801/md"
type: "Forum topic"
category: "Wireless"
author: "wkwkdaus1594"
created: "2025-07-11T10:30:34+09:00"
last_activity: "2025-07-14T10:23:54+09:00"
language: "en"
tags: ["wizfi360-contest-winner"]
views: 5
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# Wizfi360 AT 커맨드 CWJAP, CIPSTART 문제

## Question

Asked by wkwkdaus1594 on 2025-07-11 in Wireless.

bool wifi_init(void)
{
const char *cmd_list[] = {
"ATE0\r\n", // Echo off
"AT+CWMODE_CUR=1\r\n", // Station mode
"AT+CIPMUX=0\r\n", // Single connection
"AT+CWDHCP_CUR=1,1\r\n", // Enable DHCP
"AT+CWLAP=\"AP\"\r\n", // Scan APs
"AT+CWJAP_CUR=\"AP\",\"password\"\r\n", // Join AP
"AT+CIPSTART=\"TCP\",\"192.168.219.44\",10000\r\n"
};

const int cmd_count = sizeof(cmd_list) / sizeof(cmd_list[0]);
int i = 0;

while (i &lt; cmd_count)
{
// TX 버퍼 확인
uint32_t timeout = HAL_GetTick() + 3000; // 타임아웃 3s
while (!(wizfi_spi_control_read(0x03) > 0x0002))
{
if (HAL_GetTick() > timeout)
continue; // TX buffer 준비 대기
}

// 명령 전송
if (!wizfi_spi_send_at_cmd(cmd_list[i]))
continue; // 송신 실패 시 같은 명령 재시도

// 응답 대기
timeout = HAL_GetTick() + 10000;
wizfi_response_received = 0;

while (!wizfi_response_received)
{
if (HAL_GetTick() > timeout)
{
// 응답 타임아웃 → 같은 명령 재시도
continue;
}
}

// 응답 파싱
wizfi_rx_buffer[wizfi_rx_len] = ''\0'';

if (strstr((char *)wizfi_rx_buffer, "OK"))
{
i++; // 다음 명령으로 이동
}
else if (strstr((char *)wizfi_rx_buffer, "ERROR"))
{
// 같은 명령 재시도
continue;
}

// 버퍼 초기화
memset(wizfi_rx_buffer, 0, sizeof(wizfi_rx_buffer));
wizfi_rx_len = 0;
}

return true; // 모든 명령 성공
}

AT명령어 송신하여 설정하는 함수 입니다.

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if (GPIO_Pin == Wi_Fi_int_Pin)
{

while (HAL_GPIO_ReadPin(Wi_Fi_int_GPIO_Port, Wi_Fi_int_Pin) == GPIO_PIN_RESET)
{
// INT STATUS 읽기
wizfi_spi_control_read(0x06);

// RX DATA LEN 읽기 (0x02)
uint16_t rx_len = wizfi_spi_control_read(0x02);

// 4. RX LEN이 유효한 경우
if (rx_len > 0 && rx_len &lt; WIZFI360_RX_BUF_SIZE)
{
//실제 수신 처리
wizfi_spi_receive_data(wizfi_rx_buffer, rx_len);
wizfi_rx_len = rx_len;
wizfi_response_received = 1;
// 데이터 정상수신시 종료
break;
}
else
{
//rx_len의 크기가 범위를 벗어난 경우
wizfi_spi_receive_data(wizfi_rx_buffer, 20);
}

// 다음 루프 조건 확인을 위해 INT 핀 상태 다시 체크
}

}
}

명령어 송신하고 외부인터럽트에서 수신 확인하는 함수 입니다.

AT명령어 "AT+CWLAP=\"AP\"\r\n"까지는 정상적으로 응답을 받는데

CWJAP, CIPSTART 명령어를 송신시 응답이 없고 INT핀이 계속 high 상태입니다.

ATE 등 명령어는 동작하여 SPI 코드 문제는 없고 Wi-FI 모듈의 문제가 있는거 같은데

어느 부분을 확인해야 되는지 문의드립니다.

wifi모듈 버전 확인시 1.1.1.7 버전으로 확인되고

TCP 서버 10000포트 다른 PC나 장비로 연결시이상없이 접속되는상태입니다.

## Replies

### Reply 1 by Grace_Koo, 2025-07-14

안녕하세요.

말씀하신 문제 테스트 해보겠습니다.

가능하시다면 최신 펌웨어로 업데이트 하시는 것을 권장드립니다.

아래에 최신 버전 펌웨어 링크를 첨부하여 두었습니다.

<https://github.com/wizfi/Release/tree/master/Binary/1.1.2.0>

아래는 펌웨어 업데이트 가이드 문서 참조 링크 드립니다.

<https://docs.wiznet.io/Product/Wi-Fi-Module/WizFi360/documents#firmware-update-guide>

감사합니다.

---

Source: https://maker.wiznet.io/forum/15801
