WIZnet Developer Forum

W5500 세팅방법 궁금합니다.

글을 다 쓰고 새 주제 쓰기 클릭했더니 스팸이라며 통째로 날아가버렸네요. 진짜 황당합니다…

W5500 을 MCU와 연결해서 SPI 통신으로 쓰려고 합니다.
wizchip_conf.c 를 열어서 편집해야 하는것 같은데요.
178번째 줄을 보면 이렇게 되어 있습니다.

_WIZCHIP  WIZCHIP =
  {
  _WIZCHIP_IO_MODE_,
  _WIZCHIP_ID_ ,
  wizchip_cris_enter,
  wizchip_cris_exit,
  wizchip_cs_select,
  wizchip_cs_deselect,
  //M20150601 : Rename the function 
  //wizchip_bus_readbyte,
  //wizchip_bus_writebyte
   wizchip_bus_readdata,
   wizchip_bus_writedata,
  //wizchip_spi_readbyte,
  //wizchip_spi_writebyte
  };

bus 가 활성화 되어있고, spi는 비활성화 되어있네요.
이대로 쓰면 되는건가요?

하나 더 궁금한점이 있는데, DMA 기능을 쓰려면 146번째 줄에 있는
void wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) {}

/**

  • @brief Default function to burst write in SPI interface.
  • @note This function help not to access wrong address. If you do not describe this function or register any functions,
  • null function is called.
    /
    //void wizchip_spi_writeburst(uint8_t
    pBuf, uint16_t len) {};
    void wizchip_spi_writeburst(uint8_t* pBuf, uint16_t len) {}

이 부분에 DMA 코드를 짜서 넣으면 되나요?

1.SPI 통신을 하신다면, wizchip_conf.h에 보시면
/**
* @brief Define interface mode.
* @todo you should select interface mode as chip. Select one of @ref _WIZCHIP_IO_MODE_SPI_ , @ref _WIZCHIP_IO_MODE_BUS_DIR_ or @ref _WIZCHIP_IO_MODE_BUS_INDIR_
*/
// #define WIZCHIP_IO_MODE WIZCHIP_IO_MODE_BUS_DIR
// #define WIZCHIP_IO_MODE WIZCHIP_IO_MODE_BUS_INDIR
#define WIZCHIP_IO_MODE WIZCHIP_IO_MODE_SPI

WIZCHIP_IO_MODE 를 SPI로 선택만 해주시면 사용가능합니다.
2… W5500 + STM32F4xx 를 SPI DMA를 사용한 예제 와 자료가 있습니다.
참고하시면 될것 같습니다.
소스코드 : https://github.com/javakys/W5500_STM32F4_SPI_DMA
참고자료 :https://javakys.wordpress.com

감사합니다.

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