An open source S2E/RS485 module using W5500 and KL27

An open source S2E/RS485 module using W5500 and KL27
ORIGINAL POST
By transft
components
Hardware Components
w5500
X 1
kl27
X 1
details

kl27_1.png

使用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自动收发网速:

kl27_1.png

使用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自动收发网速:

COMMENTS

Please Login to comment
  Subscribe  
Notify of
POSTED BY
Reusable S/W