This commit is contained in:
parent
a54ae53b95
commit
9c24285100
|
@ -225,7 +225,6 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
|||
memcpy(hart1_uart5.rx_data, hart1_uart5.rx_data_temp, Size);
|
||||
if (tcp_echo_flags_hart1 == 1)
|
||||
{
|
||||
// tcp_send_flags_hart1 = 1;
|
||||
user_send_data_hart1(hart1_uart5.rx_data, Size);
|
||||
}
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart5, hart1_uart5.rx_data_temp, ARRAY_LEN(hart1_uart5.rx_data_temp));
|
||||
|
@ -238,7 +237,6 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
|||
memcpy(hart2_uart2.rx_data, hart2_uart2.rx_data_temp, Size);
|
||||
if (tcp_echo_flags_hart2 == 1)
|
||||
{
|
||||
// tcp_send_flags_hart2 = 1;
|
||||
user_send_data_hart2(hart2_uart2.rx_data, Size);
|
||||
}
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart2, hart2_uart2.rx_data_temp, ARRAY_LEN(hart2_uart2.rx_data_temp));
|
||||
|
@ -287,10 +285,10 @@ void Error_Handler(void)
|
|||
{
|
||||
/* USER CODE BEGIN Error_Handler_Debug */
|
||||
/* User can add his own implementation to report the HAL error return state */
|
||||
// __disable_irq();
|
||||
// while (1)
|
||||
// {
|
||||
// }
|
||||
__disable_irq();
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
/* USER CODE END Error_Handler_Debug */
|
||||
}
|
||||
|
||||
|
|
|
@ -501,7 +501,7 @@
|
|||
|
||||
<Group>
|
||||
<GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
|
|
@ -28,20 +28,13 @@ static err_t tcpecho_recv_hart1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
tcp_echo_flags_hart1 = 1;
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
memcpy(&server_pcb_hart1, &tpcb, sizeof(struct tcp_pcb *));
|
||||
#if 0
|
||||
memcpy(hart2_uart2.tx_data, (int *)p->payload, p->tot_len);
|
||||
HART2_RTS_SEND;
|
||||
HAL_UART_Transmit(&huart2, hart2_uart2.tx_data, p->tot_len, 1000);
|
||||
HART2_RTS_RECEIVE;
|
||||
#endif
|
||||
#if 1
|
||||
server_pcb_hart1 = tpcb; // 直接赋值
|
||||
memcpy(hart1_uart5.tx_data, (int *)p->payload, p->tot_len);
|
||||
HART1_RTS_SEND;
|
||||
dma_usart_send(&huart5, hart1_uart5.tx_data, p->tot_len);
|
||||
// HART1_RTS_RECEIVE;
|
||||
#endif
|
||||
memset(p->payload, 0, p->tot_len);
|
||||
if (huart5.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
HART1_RTS_SEND;
|
||||
dma_usart_send(&huart5, hart1_uart5.tx_data, p->tot_len);
|
||||
}
|
||||
pbuf_free(p);
|
||||
}
|
||||
else if (err == ERR_OK) // 检测到对方主动关闭连接时,也会调用recv函数,此时p为空
|
||||
|
@ -58,20 +51,14 @@ static err_t tcpecho_recv_hart2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
tcp_echo_flags_hart2 = 1;
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
memcpy(&server_pcb_hart2, &tpcb, sizeof(struct tcp_pcb *));
|
||||
#if 1
|
||||
server_pcb_hart2 = tpcb; // 直接赋值
|
||||
memcpy(hart2_uart2.tx_data, (int *)p->payload, p->tot_len);
|
||||
HART2_RTS_SEND;
|
||||
dma_usart_send(&huart2, hart2_uart2.tx_data, p->tot_len);
|
||||
#endif
|
||||
#if 0
|
||||
memcpy(hart1_uart5.tx_data, (int *)p->payload, p->tot_len);
|
||||
HART1_RTS_SEND;
|
||||
HAL_UART_Transmit(&huart5, hart1_uart5.tx_data, p->tot_len, 100);
|
||||
HART1_RTS_RECEIVE;
|
||||
#endif
|
||||
if (huart2.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
HART2_RTS_SEND;
|
||||
dma_usart_send(&huart2, hart2_uart2.tx_data, p->tot_len);
|
||||
}
|
||||
|
||||
memset(p->payload, 0, p->tot_len);
|
||||
pbuf_free(p);
|
||||
}
|
||||
else if (err == ERR_OK) // 检测到对方主动关闭连接时,也会调用recv函数,此时p为空
|
||||
|
@ -88,12 +75,14 @@ static err_t tcpecho_recv_ble1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
tcp_echo_flags_ble1 = 1;
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
memcpy(&server_pcb_ble1, &tpcb, sizeof(struct tcp_pcb *));
|
||||
server_pcb_ble1 = tpcb; // 直接赋值
|
||||
|
||||
memcpy(ble1_uart6.tx_data, (int *)p->payload, p->tot_len);
|
||||
dma_usart_send(&huart6, ble1_uart6.tx_data, p->tot_len);
|
||||
if (huart6.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
dma_usart_send(&huart6, ble1_uart6.tx_data, p->tot_len);
|
||||
}
|
||||
|
||||
memset(p->payload, 0, p->tot_len);
|
||||
pbuf_free(p);
|
||||
}
|
||||
else if (err == ERR_OK) // 检测到对方主动关闭连接时,也会调用recv函数,此时p为空
|
||||
|
@ -110,12 +99,12 @@ static err_t tcpecho_recv_ble2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
tcp_echo_flags_ble2 = 1;
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
memcpy(&server_pcb_ble2, &tpcb, sizeof(struct tcp_pcb *));
|
||||
|
||||
server_pcb_ble2 = tpcb; // 直接赋值
|
||||
memcpy(ble2_uart3.tx_data, (int *)p->payload, p->tot_len);
|
||||
dma_usart_send(&huart3, ble2_uart3.tx_data, p->tot_len);
|
||||
|
||||
memset(p->payload, 0, p->tot_len);
|
||||
if (huart3.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
dma_usart_send(&huart3, ble2_uart3.tx_data, p->tot_len);
|
||||
}
|
||||
pbuf_free(p);
|
||||
}
|
||||
else if (err == ERR_OK) // 检测到对方主动关闭连接时,也会调用recv函数,此时p为空
|
||||
|
@ -209,30 +198,22 @@ void tcp_echo_init(void)
|
|||
|
||||
void user_send_data_hart1(uint8_t *data, uint16_t len)
|
||||
{
|
||||
if (tcp_echo_flags_hart1 == 1)
|
||||
{
|
||||
tcp_write(server_pcb_hart1, data, len, 1);
|
||||
}
|
||||
|
||||
tcp_write(server_pcb_hart1, data, len, 1);
|
||||
}
|
||||
void user_send_data_hart2(uint8_t *data, uint16_t len)
|
||||
{
|
||||
if (tcp_echo_flags_hart2 == 1)
|
||||
{
|
||||
tcp_write(server_pcb_hart2, data, len, 1);
|
||||
}
|
||||
|
||||
tcp_write(server_pcb_hart2, data, len, 1);
|
||||
}
|
||||
|
||||
void user_send_data_ble1(uint8_t *data, uint16_t len)
|
||||
{
|
||||
if (tcp_echo_flags_ble1 == 1)
|
||||
{
|
||||
tcp_write(server_pcb_ble1, data, len, 1);
|
||||
}
|
||||
|
||||
tcp_write(server_pcb_ble1, data, len, 1);
|
||||
}
|
||||
void user_send_data_ble2(uint8_t *data, uint16_t len)
|
||||
{
|
||||
if (tcp_echo_flags_ble2 == 1)
|
||||
{
|
||||
tcp_write(server_pcb_ble2, data, len, 1);
|
||||
}
|
||||
|
||||
tcp_write(server_pcb_ble2, data, len, 1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue