---
title: "udp 수신과 softwareserial"
url: "https://maker.wiznet.io/forum/14190"
markdown_url: "https://maker.wiznet.io/forum/14190/md"
type: "Forum topic"
category: "General"
author: "Croixen"
created: "2021-03-15T11:35:54+09:00"
last_activity: "2021-03-16T22:20:12+09:00"
language: "ko"
views: 469
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# udp 수신과 softwareserial

## Question

Asked by Croixen on 2021-03-15 in General.

W5500 레오나르도 보드를 사용하고 있습니다.

GPS정보를 softwareSerial로 받아오면서
외부에서 udp로 제어명령을 보내면 그에 따른 반응을 하게 하려고 합니다.

문제는 udp 수신을 위해 parsepacket() 함수를 사용하면
GPS 정보가 매초마다 갱신이 잘 안된다는 점입니다.

코드 전문을 올리려니 너무 길어서 순서만 간략히 적어둡니다.
loop문 내에는 이하의 순서로 코딩이 되어 있습니다.

---

if(GPS_Serial.available())
{
GPS 데이터 수신 및 parsing
}

currentMillis = millis();
if(currentMillis - previousMillis >= LED_Interval)
{
previousMillis = currentMillis;
Serial.println(“GPS_Data”);
Serial.println(PwrData.C_GPSTime[0]);
Serial.println(PwrData.C_GPSTime[1]);
Serial.println(PwrData.C_GPSTime[2]);
Serial.println(PwrData.C_Lati);
Serial.println(PwrData.C_Longi);
}

## if(Udp2.parsePacket()) { 제어명령 확인 및 동작 } if(Udp4.parsePacket()) { 제어명령 확인 및 동작 }

parsepacket()에서 if문을 모두 주석처리하고
int packetSize = Udp2.parsePacket();
이 한 줄만 넣어도 GPS데이터 갱신에 영향이 미칩니다.

이에 대한 해결방법이 있을까요?

## Replies

### Reply 1 by irina, 2021-03-16

W5500관련문의는 답변드릴수 있습니다만,
아두이노 코드에 대한 내용은 아두이노포럼에서 문제 해결하는 것이 빠를것 같습니다.
도움을 드리지 못해 죄송합니다.

---

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