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;