---
title: "W6100 version register 읽기 오류?"
url: "https://maker.wiznet.io/forum/15227"
markdown_url: "https://maker.wiznet.io/forum/15227/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "hqkwon1114"
created: "2024-05-23T11:37:18+09:00"
last_activity: "2024-05-23T11:37:19+09:00"
language: "en"
views: 69
replies: 0
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# W6100 version register 읽기 오류?

## Question

Asked by hqkwon1114 on 2024-05-23 in Ethernet Chips.

[W6100] [wiz610io]

wiz610io를 사서 개발중에 있습니다.

spi통신이 제대로 되었는지 확인하기 위해서 chip의 register값을 읽고있는데

uint8_t tmpstr[6];
ctlwizchip(CW_GET_ID, (void*)tmpstr);
uint16_t tmp16;
ctlwizchip(CW_GET_VER, (void*)&tmp16);

를 하였을 경우 chip id 는’ W6100’ 으로 잘 읽히는데
version이
![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/98aa0e93afea2a81bda7b2d952e86891609c0faf.png)

이렇게 뜹니다. datasheet상으론 4661이 읽혀야 하는데요.

관련 코드 첨부드립니다. 버전이 제대로 읽히지 않는 이유를 찾아주세요. 부탁드립니다.

void W6100Initialze(void)
{
uint8_t temp;

```
W6100Reset();

/* SPI method callback registration */
reg_wizchip_spi_cbfunc(W6100SpiReadByte, W6100SpiWriteByte, W6100SpiReadBurst, W6100SpiWriteBurst);
//reg_wizchip_spi_cbfunc(W6100SpiReadByte, W6100SpiWriteByte, 0, 0);

/* CS function register */
reg_wizchip_cs_cbfunc(W6100CsEnable, W6100CsDisable);

/* Critical Section */
//reg_wizchip_cris_cbfunc(your_critical_enter, your_critical_exit);

unsigned char W6100_AdrSet[2][8] = {{2, 2, 2, 2, 2, 2, 2, 2}, {2, 2, 2, 2, 2, 2, 2, 2}};
```

#if 0
do
{
if (ctlwizchip(CW_GET_PHYLINK, (void *)&temp) == -1)
{
printf(“\r\n Unknown PHY link status.”);
}
} while (temp == PHY_LINK_OFF);
printf(“\r\n PHY OK.”);
#endif

#if 0
temp = IK_DEST_UNREACH;

```
if (ctlwizchip(CW_INIT_WIZCHIP, (void *)W6100_AdrSet) == -1)
{
	printf("\r\n W6100 initialized fail.");
}

if (ctlwizchip(CW_SET_INTRMASK, &temp) == -1)
{
	printf("\r\n W6100 interrupt");
}
//printf("\r\n interrupt mask: %02x",getIMR());
```

#endif
}

void network_init(void)
{
uint8_t syslock = SYS_NET_LOCK;

```
//W6100Initialze();
//LL_GPIO_ResetOutputPin(SPI1_CS_GPIO_Port, SPI1_CS_Pin);
gWIZNETINFO.ip[0] = 192;
gWIZNETINFO.ip[1] = 168;
gWIZNETINFO.ip[2] = 10;
gWIZNETINFO.ip[3] = 135;
gWIZNETINFO.sn[0] = 255;
gWIZNETINFO.sn[1] = 255;
gWIZNETINFO.sn[2] = 255;
gWIZNETINFO.sn[3] = 0;
gWIZNETINFO.gw[0] = 192;
gWIZNETINFO.gw[1] = 168;
gWIZNETINFO.gw[2] = 10;
gWIZNETINFO.gw[3] = 1;
gWIZNETINFO.dns[0] = 8;
gWIZNETINFO.dns[1] = 8;
gWIZNETINFO.dns[2] = 8;
gWIZNETINFO.dns[3] = 8;

ctlwizchip(CW_SYS_UNLOCK, &syslock);


ctlnetwork(CN_SET_NETINFO, &gWIZNETINFO);

//ctlnetwork(CN_SET_TIMEOUT, &gWIZNETTIMEOUT)
```

}

---

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