你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

printf在TrueSTUDIO中无法使用  

[复制链接]
dontknowwhoiam 提问时间:2018-3-16 16:53 /
printf在TrueSTUDIO不起作用,不知道如何设置。在Keil中可以通过使能MicroLIB来重映射fputc函数来使用printf。
<
收藏 2 评论19 发布时间:2018-3-16 16:53

举报

19个回答
jjbboox 回答时间:2018-3-16 17:06:29
TrueSTUDIO没用过,但是和SW4STM32都用的是GUN的编译器,所以和SW4STM32的方式是一样的,就是重定向 int __io_putchar(int ch)函数,而不是KEIL的fputc函数。
  1. int __io_putchar(int ch) {
  2.         HAL_UART_Transmit(&huart2, (uint8_t*)&ch, 1, 0xffff);
  3.         return ch;
  4. }
复制代码


这样就可以用了。
另外在工程属性设置的[C/C++ Build]->[Settings]->[Tool Settings]->[MCU G++ Linker]->[Miscellaneous]->[Linker flags]中添加[-u _printf_float]参数就可以了。


评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

dontknowwhoiam 回答时间:2018-3-16 18:19:16
jjbboox 发表于 2018-3-16 17:06
TrueSTUDIO没用过,但是和SW4STM32都用的是GUN的编译器,所以和SW4STM32的方式是一样的,就是重定向 int __ ...

谢谢。你说的很对,得使用__io_putchar进行重映射。在TrueSTUDI上试了试,还是不知道怎么设置。最后找到了解决办法,需要调用一个叫syscalls.c的源文件,配合__io_putchar来实现。
jjbboox 回答时间:2018-3-16 18:48:35
本帖最后由 jjbboox 于 2018-3-16 18:50 编辑
dontknowwhoiam 发表于 2018-3-16 18:19
谢谢。你说的很对,得使用__io_putchar进行重映射。在TrueSTUDI上试了试,还是不知道怎么设置。最后找到 ...

是的,我居然把syscalls.c的事情给忘记了,不好意思哈!另外可能printf如果不输出浮点数的话,那个Linker的参数可以不加。毕竟加上以后会占掉差不多10K的空间。
xmstudio 回答时间:2018-3-22 08:20:14
我不清楚这里的printf是不是通过串口打印信息,我用了一种笨办法,利用sprintf把需要打印的东西做成字符串,用指针*c指向这个字符串,然后用if(*c)判断字符串没有结束,如果没有结束就向串口发送这个字符,最后指针*c++来指向下一个字符,这些东西可以写成一个循环用来串口打印

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

dsjsjf 回答时间:2018-3-22 09:09:07
我是来学习的,,这个编译器还不会用
feixiang20 回答时间:2018-3-22 09:13:11
是不是头文件的问题

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

x5y4z3 回答时间:2018-3-22 09:26:12
先从 PUT 的 Function 一步步开始测起。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

maxtch 回答时间:2018-3-22 13:30:09
你可以参考一下 newlib 的文档和 syscalls.c,里面对于实现哪些功能需要哪些函数有比较详细的介绍的。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

anobodykey 回答时间:2018-3-22 22:23:22
看下库例程吧,基本上每个库都会有printf示例的

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版