Wiznet makers

louis_m

Published May 02, 2023 ©

85 UCC

11 WCC

37 VAR

0 Contests

0 Followers

0 Following

Original Link

Ethernet-to-serial/RS485 configured with W5500 and KL27

Ethernet-to-serial/RS485 configured with W5500 and KL27

COMPONENTS Hardware components

WIZnet - W5500

x 1


PROJECT DESCRIPTION

使用W5500+KL27实现以太网转串口RS232、RS485透传功能:

将W5500的库移植到工程中,然后就是初始化KL27的SPI
void w5500_spi_init()
{
PORT_Init(PORTB, PORT_MODULE_ALT1_MODE, PIN_0|PIN_1, 0, NULL); //PTB0 - SPI1_RST -> W5500 RST
GPIO_Init(GPIOB, GPIO_PIN_OUTPUT, PIN_0);
GPIO_Clr (GPIOB, PIN_0);
delay(0xfff);
GPIO_Set (GPIOB, PIN_0);
delay(0xffff);

GPIO_Init (GPIOB, GPIO_PIN_INPUT,PIN_1);

PORT_Init(PORTD, PORT_MODULE_ALT1_MODE, PIN_4, 0, NULL); //PTB0 - SPI1_RST -> W5500 RST
GPIO_Init(GPIOD, GPIO_PIN_OUTPUT, PIN_4);
GPIO_Set (GPIOD, PIN_4);

//SPI1 PTD4/5/6/7 CS/SCK/MOSI/MISO
PORT_Init(PORTD, PORT_MODULE_ALT2_MODE, PIN_5|PIN_6|PIN_7, 0, NULL);
SPI1_Init(SPI_MODULE_DIV2_8B_POLL_CONFIG,NULL,0,NULL);
}

然后程序中循环处理就可以,将收到的数据,再发回去。

测试单包1956字节收发:

连续3ms,自动收发,不丢包。(测试:一包1956字节,连续2ms发送,有丢包)

测试连续3ms自动收发网速:

Documents
Comments Write