From d980da43ef591a8cc1e5bf607aef09100808a221 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Fri, 14 Feb 2025 13:32:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20ip=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=B2=20=D0=BC=D0=B0=D0=BA=20=D0=B0=D0=B4=D1=80=D0=B5?= =?UTF-8?q?=D1=81=D1=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Src/main.c | 5 +---- LWIP/Target/ethernetif.c | 13 +++++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index 687cc37..7944adf 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -412,7 +412,6 @@ void sock_init(struct udp_pcb * pcb) void udp_echo_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port) { - //if (disable_rcv) return; if (p != NULL) { if (p->tot_len < sizeof rx_msg.rx_buf) { @@ -460,7 +459,7 @@ void rcv_command(void) unsigned char *cmd_buf = &tx_msg.tx_buf[tx_msg.status_len]; HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, GPIO_PIN_RESET); - tx_msg.tx_buf[5] = 1; + //tx_msg.tx_buf[5] = 1; rx_counter = 0; switch(rx_msg.cmd_code) // код команды { @@ -584,9 +583,7 @@ void rcv_command(void) if (flash_sector == 2) sector = FLASH_BASE_EMS_B1; uint16_t flash_addr = rx_msg.rx_buf[8] + (rx_msg.rx_buf[9] << 8); uint16_t numofwords = (bytes_amount/4)+((bytes_amount%4)!=0); - MX_LWIP_SET_ETH_DOWN(); Flash_Write_Data(sector + flash_addr, (uint32_t *)&rx_msg.rx_buf[12], numofwords); - MX_LWIP_SET_ETH_UP(); // Установить размер буфера tx_msg.cmd_len = 2; } diff --git a/LWIP/Target/ethernetif.c b/LWIP/Target/ethernetif.c index ad3cc23..05ffa28 100644 --- a/LWIP/Target/ethernetif.c +++ b/LWIP/Target/ethernetif.c @@ -33,7 +33,7 @@ /* Within 'USER CODE' section, code will be kept by default at each generation */ /* USER CODE BEGIN 0 */ - +#include "pribors.h" /* USER CODE END 0 */ /* Private define ------------------------------------------------------------*/ @@ -145,14 +145,15 @@ static void low_level_init(struct netif *netif) HAL_StatusTypeDef hal_eth_init_status = HAL_OK; /* Start ETH HAL Init */ - uint8_t MACAddr[6] ; + uint8_t MACAddr[6] ; + u32_t ip_addr = get_ip(); heth.Instance = ETH; MACAddr[0] = 0x00; MACAddr[1] = 0x80; - MACAddr[2] = 0xE1; - MACAddr[3] = 0x00; - MACAddr[4] = 0x00; - MACAddr[5] = 0x00; + MACAddr[2] = ((uint8_t*)&ip_addr)[0]; + MACAddr[3] = ((uint8_t*)&ip_addr)[1]; + MACAddr[4] = ((uint8_t*)&ip_addr)[2]; + MACAddr[5] = ((uint8_t*)&ip_addr)[3]; heth.Init.MACAddr = &MACAddr[0]; heth.Init.MediaInterface = HAL_ETH_RMII_MODE; heth.Init.TxDesc = DMATxDscrTab;