WIZnet Developer Forum

WIZFI250 + Arduino 데이터 전송 관련 문의

안녕하세요.

WIZFI250과 Arduino 를 활용하여 데이터 전송을 하는데 문제가 생겨서 글을 올립니다.

WIZFI250의 펌웨어 버젼은 1.0.3.3 이며 Arduino 스케치에 활용한 라이브러리는 아래 주소에서 받았습니다.

github.com/Wiznet/Arduino_WizFi250

WIFI 연결이나 데이터 송수신이 평소에는 잘 되다가

0xF0 (Hex) 를 송신할때 에러가 발생하면서 통신이 끊깁니다.

WIZFI250 공장초기화 및 펌웨어를 다시 덮어써봐도 동일한 문제가 발생합니다.

이와 비슷한 문제들이 현재 발생하고 있는지, 해결방법이 있는지 알고 싶습니다.

감사합니다.

안녕하세요

WizFi250과 아두이노는 SPI로 통신하게 됩니다.
SPI로 통신하면서 데이터 컨트롤을 위해서 Special Character가 사용되는데, 그 중에 0xF0, 0xF1이 있습니다.

0xF0을 데이터로 보내실 경우에는 0xF0 대신에 <0xF1 0x00>으로 보내주셔야 합니다.

답변 감사드립니다.

추가 문의 사항이 있어서 글을 남깁니다.

자세한 사항은 아래와 같습니다.

  1. 말씀해주신 Special Character가 0xF0, 0xF1 말고 또 어떠한 것이 있는지 알 수 있을까요?
    SPI 관련하여 검색을 해봤는데 적절한 자료를 찾을 수 없었습니다.
    또한, 각 Special Character를 데이터로 보내야 할 경우 송신 방법이 방법이 궁금합니다.

  2. 0xF0를 보낼때는 0xF0 대신해서 <0xF1 0x00>으로 보내면 된다고 하셨는데, 저렇게 넣으면 자동으로 0xF0로 인식을 해서 보내는건가요?
    그리고, 0XF1도 Special character라고 하셨는데 위와 같이 보냈을때 에러가 나지 않는지 궁금합니다.

감사합니다.

SPI Control character 답변 드립니다.

0xF0 -> SPI NULL
0xF1 -> SPI Escape
0xF1 0x00 -> F0 Data
0xF1 0x01 -> F1 Data
0xF1 0x02 -> SPI SYNC
0xF1 0x03 -> SPI XON
0xF1 0x04 -> SPI XOFF
0xF1 0x05 -> SPI ERROR

0xF0은 SPI Null로 SPI Write없이 SPI Read만 할 때 사용합니다.
0xF1은 SPI SYNC, XON, XOFF, ERROR SPI Control을 하기 위해 사용합니다.

WizFi250은 SPI로 0xF0을 받으면 NULL 로 인식합니다.
또, SPI로 0xF1을 받으면 한 바이트를 추가로 기다리게 되고, 다음 바이트가 0x00이면 SPI로 Read 한 <0xF0 0x00>을 데이터(0xF0)로 인식하게 됩니다.

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