当前位置: 首页> 科技> IT业 > 艺术网站建设模板_推广文案模板_中国十大电商培训机构_百度网址大全旧版安装

艺术网站建设模板_推广文案模板_中国十大电商培训机构_百度网址大全旧版安装

时间:2025/7/8 16:02:47来源:https://blog.csdn.net/weixin_41613969/article/details/144429631 浏览次数:1次
艺术网站建设模板_推广文案模板_中国十大电商培训机构_百度网址大全旧版安装

STM32F407+LAN8720A +LWIP +FreeRTOS ping通
上一篇实现了LWIP ping 通

本篇实现UDP通讯

实现如下功能:

  1. 串口1空闲中断+DMA接收,收到数据用UDP发送
  2. UDP接收,收到数据用串口1发送

STM32CUBEIDE配置和代码

1. 配置UARAT1的空闲中断+DMA接收

在这里插入图片描述
UART1接收到数据,释放信号量,在任务中进行数据处理(UDP发送)

/* USER CODE END Header_StartTask03 */
void StartTask03(void const * argument)
{/* USER CODE BEGIN StartTask03 */uint16_t len_data;HAL_UARTEx_ReceiveToIdle_DMA(&huart1, buletooth_rxBuf, 250);hdma_usart1_rx.Instance->CR  &= ~(DMA_IT_HT);//取消接收一半中断/* Infinite loop */for(;;){//UART RECEIVED, UDP SENDosSemaphoreWait (BinarySem_BLUE_RecHandle, osWaitForever);if(ble_rxBuf_len > 0){len_data = ble_rxBuf_len;udp_client_send_data(buletooth_rxBuf, len_data);}}/* USER CODE END StartTask03 */
}/* Private application code --------------------------------------------------*/
/* USER CODE BEGIN Application */
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{if(huart->Instance ==  USART1){ble_rxBuf_len = Size;osSemaphoreRelease (BinarySem_BLUE_RecHandle);HAL_UARTEx_ReceiveToIdle_DMA(&huart1, buletooth_rxBuf, 250);}
}

2. 配置UDP


void udp_client_init(void)
{ip_addr_t serverIP;err_t err;IP4_ADDR(&serverIP, 192, 168, 111, 11);upcb = udp_new();if (upcb != NULL){/* 配置本地端口 */upcb->local_port = UDP_LOCAL_PORT;/* 配置服务器IP和端口号*/err = udp_connect(upcb, &serverIP, UDP_REMOTE_PORT);if (err == ERR_OK){/* 注册接收回调函数 */udp_recv(upcb, udp_receive_callback, NULL);printf("UDP INIT SUCCESS\r\n");}else{udp_remove(upcb);}}
}
static void udp_receive_callback(void *arg, struct udp_pcb *upcb,struct pbuf *p, const ip_addr_t *addr, u16_t port)
{if (p != NULL){struct pbuf *ptmp = p;while (ptmp != NULL){memset(cache_udprece, 0, sizeof(cache_udprece));
关键字:艺术网站建设模板_推广文案模板_中国十大电商培训机构_百度网址大全旧版安装

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: