.sw4stm32环境下如何添加printf支持

windows使用sw4stm32环境下下遇到过重定向完成后printf没有输出的问题,网上的解决方式是添加syscalls.c。现记录备忘,新版的cubemx好像已经自动添加了syscalls.c

以下为转 载:

首先在安装目录下找到syscalls.c文件,将该文件放到工程的src文件下;然后需要使用串口的发送函数,编写下面的接口函数:

void __io_putchar(uint8_t ch)
{
    HAL_UART_Transmit(&huart2,(uint8_t *)&ch,1,0xFFFF);
    //return (ch);
}

完成该操作后,printf应该是可以输出字符串和整型格式化的数据,但是对于浮点数显示的不对,此时需要添加编译选项,添加流程为Properties -> C/C++ Build -> Settings -> MCU GCC Linker -> Miscellaneous -> Linker flags后面增加-u _printf_float标志.重新编译即可实现printf功能.

原文:https://blog.csdn.net/feixuecan/article/details/68957505 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值