Wiz550io 으로 테스트 중인데요 소스 좀 봐주세요
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: Wiz550io 으로 테스트 중인데요 소스 좀 봐주세요
by Edward ·
안녕하세요.
우선 제가 참조하는 코드를 확인해주세요.
저희 강의할 때 사용되는 보드에 있는 코드입니다.
직접 구동되는거 확인했구요. 직접 말씀드리는 것 보단 코드를 비교해보시는게 괜찮을 것 같습니다.
peripheral clock 선언 제대로 하셨나 다시 확인해주시구요.
GPIO pin과 spi 선언핀들의 역할을 다시 확인해주세요.
void W5500_select(void)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_4); // Chip Select (Low)
}
void W5500_deselect(void)
{
GPIO_SetBits(GPIOA,GPIO_Pin_4); // CS high
}
uint8_t W5500_read(void)
{
//Is FullDuplex
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); // TXE reset → Send data(DR register)
SPI_I2S_SendData(SPI1, 0xff);
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); // RXNE reset → Data receive
return SPI_I2S_ReceiveData(SPI1);
}
void W5500_write(uint8_t byte)
{
//Is FullDuplex
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData(SPI1, byte);
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
SPI_I2S_ReceiveData(SPI1);
}
// SPI Pin Enable and SPI Signal Configuration
void W5500HardwardInitilize(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
SPI_InitTypeDef SPI_InitStructure;
}
// H/W Reset
void W5500HARDWARDRESET(void)
{
int i,j;
GPIO_WriteBit(GPIOD,GPIO_Pin_10,Bit_SET);
GPIO_WriteBit(GPIOD,GPIO_Pin_10,Bit_RESET);
for(i = 0; i < 10000 ; i++){j++;}
GPIO_WriteBit(GPIOD,GPIO_Pin_10,Bit_SET);
}
// Connect to MCU
void W5500_Init(void)
{
uint8_t tmp;
// Socket txbuffer , rxbuffer size
uint8_t memsize[2][8] = { { 2, 2, 2, 2, 2, 2, 2, 2 }, { 2, 2, 2, 2, 2, 2, 2, 2 } };
}
RE: Wiz550io 으로 테스트 중인데요 소스 좀 봐주세요
by bangbh ·
안녕하세요.
먼저 동일한 네트워크 환경인지 확인해보시기 바랍니다.
IP를 192.168.0.10으로 하셨던데 PING을 쏘는 주체(pc겠죠?)도 192.168.0.??와 같은 IP 주소를 가져야 합니다.
그 후 spi통신을 wiz550io에 정상적으로 값이 써지는 지도 확인을 하셔야합니다.
일반적으로 네트워크 정보를 입력한 후 다시 읽어 printf등을 사용해 화면에 뿌려보는 방식으로 테스트합니다.
링크가 잡히는지도 확인하셔야합니다.(RJ-45의 led가 깜빡거리는 것으로 확인이 가능합니다.)
네트워크를 하려면 코딩 이외에도 여러가지 소소하게 신경써야하는 부분이 많습니다.
좋은 소식 있기를 기대합니다.
감사합니다.
RE: Wiz550io 으로 테스트 중인데요 소스 좀 봐주세요
by sinwho ·
답변 정말 감사합니다
SPI 문제 였던거 같습니다^^
RE: Wiz550io 으로 테스트 중인데요 소스 좀 봐주세요
by Edward ·
안녕하세요.
해결되서 다행입니다.
좋은 결과 있으시길 바랍니다.