重定向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);
|
disconnect(sn);
|
||||||
|
printf("send status success!\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void http_server_task(void)
|
void http_server_task(void)
|
||||||
|
@ -110,6 +110,7 @@ int main(void)
|
|||||||
// 执行一次HTTP客户端测试
|
// 执行一次HTTP客户端测试
|
||||||
// http_test_request();
|
// http_test_request();
|
||||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
||||||
|
printf("Init success!\r\n");
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#include "w5500_init.h"
|
#include "w5500_init.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "socket.h"
|
||||||
|
|
||||||
// W5500 Network Configuration
|
// W5500 Network Configuration
|
||||||
wiz_NetInfo gWIZNETINFO = {
|
wiz_NetInfo gWIZNETINFO = {
|
||||||
@ -37,6 +39,52 @@ static void W5500_WriteByte(uint8_t byte) {
|
|||||||
W5500_WriteBuff(&byte, 1);
|
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)
|
int8_t W5500_Init(void)
|
||||||
{
|
{
|
||||||
// 1. 注册通信函数
|
// 1. 注册通信函数
|
||||||
@ -70,5 +118,10 @@ int8_t W5500_Init(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 初始化UDP日志功能
|
||||||
|
if(UDP_Log_Init() < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user