WIZnet Developer Forum

W5500 빅 또는 리틀 엔디언 여부

안녕하십니까?

일반적으로 PC는 리틀 엔디언 방식입니다.
그리고 TCP/IP 의 경우는 빅엔디언이라고 했습니다.

그래서 프로그래밍을 할 때 스왑을 해야 한다고 알고 있습니다.

저의 경우 PC랑 통신을 할 때 쓰는 프로그램으로 SerialPortMon(blog.daum.net/pg365/276) 을 사용합니다.
제가 테스트 할 때는 엔디언을 신경쓰지 않고 통신이 잘 되고 있습니다.

그런데 응용 하시는 분이 스왑을 했냐면서 스왑을 해서
정확히 데이타를 보내라고 합니다.

그래서 궁금한 것이 W5500 의 경우는 엔디언 처리에 따라 데이타를 스왑을 해야 하는가입니다.
이에 관련하여 좀 더 자세히 설명해 주시기 부탁드립니다.

안녕하세요.

결론부터 말씀드리면 응용프로그램 개발자분이 들어온 데이터를 읽을때 빅엔디언 방식으로 읽어야 되는 겁니다.

W5500의 경우 1byte씩 처리를 하기 때문에 스왑하고 상관이 없습니다.
PC에서 데이터를 읽을때 4byte씩 읽게 되는데 이때 엔디안 때문에 문제가 발생합니다.
이는 비단 W5500에서의 문제가 아니라 일반적으로 통신에서 빅엔디언을 사용하기 때문에 주의해야 합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.