解锁STM32 Printf新姿势!,用vsprintf吧!

本文介绍了一种使用vsprintf函数改进STM32串口打印的方法。通过自定义my_printf函数,实现了对STM32串口输出的有效管理和优化。此外,还提供了shell_write函数的具体实现,展示了如何将数据发送到UDP套接字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解锁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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值