解锁STM32 Printf新姿势!,用vsprintf吧!
int my_printf(const char *fmt, …)
{
va_list args;
int n;
va_start(args, fmt);//初始化参数指针
n = vsprintf(sprint_buf, fmt, args);/函数放回已经处理的字符串长度/
va_end(args);//与va_start 配对出现,处理ap指针
shell_write((unsigned char *)sprint_buf, n);
return n;
}
实现这个函数就行啦:
int shell_write(unsigned char *pData, int len)
{
if (G_shell_dupFlag) {
//G_shell_udpClient.sin_port = htons(3001);
sendto(G_shell_udpSocket, pData, len, 0, (struct sockaddr *)&G_shell_udpClient,sizeof(struct sockaddr));
}
return len;
}
本文介绍了一种使用vsprintf函数改进STM32串口打印的方法。通过自定义my_printf函数,实现了对STM32串口输出的有效管理和优化。此外,还提供了shell_write函数的具体实现,展示了如何将数据发送到UDP套接字。
1082

被折叠的 条评论
为什么被折叠?



