重定向printf到udp输出,端口8888
This commit is contained in:
parent
b110c919bc
commit
07aaa98dc4
@ -251,6 +251,7 @@ static void handle_status_request(uint8_t sn)
|
||||
|
||||
// 发送完成后主动关闭连接
|
||||
disconnect(sn);
|
||||
printf("send status success!\r\n");
|
||||
}
|
||||
|
||||
void http_server_task(void)
|
||||
|
@ -110,6 +110,7 @@ int main(void)
|
||||
// 执行一次HTTP客户端测试
|
||||
// http_test_request();
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
||||
printf("Init success!\r\n");
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
|
@ -1,4 +1,6 @@
|
||||
#include "w5500_init.h"
|
||||
#include <stdio.h>
|
||||
#include "socket.h"
|
||||
|
||||
// W5500 Network Configuration
|
||||
wiz_NetInfo gWIZNETINFO = {
|
||||
@ -37,6 +39,52 @@ static void W5500_WriteByte(uint8_t byte) {
|
||||
W5500_WriteBuff(&byte, 1);
|
||||
}
|
||||
|
||||
// UDP日志相关定义
|
||||
#define UDP_LOG_PORT 8888 // UDP日志端口
|
||||
#define UDP_LOG_SOCKET 7 // 使用Socket 7作为日志socket
|
||||
|
||||
// 初始化UDP日志功能
|
||||
int8_t UDP_Log_Init(void);
|
||||
// 发送UDP日志数据
|
||||
void UDP_Log_Send(const uint8_t* data, uint16_t len);
|
||||
|
||||
static uint8_t udp_log_buffer[1024]; // UDP发送缓冲区
|
||||
|
||||
int8_t UDP_Log_Init(void)
|
||||
{
|
||||
// 关闭可能已经打开的socket
|
||||
close(UDP_LOG_SOCKET);
|
||||
|
||||
// 以UDP模式打开socket
|
||||
if(socket(UDP_LOG_SOCKET, Sn_MR_UDP, UDP_LOG_PORT, 0) != UDP_LOG_SOCKET)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UDP_Log_Send(const uint8_t* data, uint16_t len)
|
||||
{
|
||||
uint8_t broadcast_ip[] = {255, 255, 255, 255}; // 广播地址
|
||||
sendto(UDP_LOG_SOCKET, data, len, broadcast_ip, UDP_LOG_PORT);
|
||||
}
|
||||
|
||||
// printf重定向相关实现
|
||||
#ifdef __GNUC__
|
||||
int _write(int file, char *ptr, int len)
|
||||
{
|
||||
UDP_Log_Send((uint8_t*)ptr, len);
|
||||
return len;
|
||||
}
|
||||
#elif defined(__ICCARM__)
|
||||
size_t __write(int handle, const unsigned char *buffer, size_t size)
|
||||
{
|
||||
UDP_Log_Send(buffer, size);
|
||||
return size;
|
||||
}
|
||||
#endif
|
||||
|
||||
int8_t W5500_Init(void)
|
||||
{
|
||||
// 1. 注册通信函数
|
||||
@ -70,5 +118,10 @@ int8_t W5500_Init(void)
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化UDP日志功能
|
||||
if(UDP_Log_Init() < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user