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

printf在TrueSTUDIO中无法使用  

[复制链接]
dontknowwhoiam 提问时间:2018-3-16 16:53 /
阅读主题, 点击返回1楼
收藏 2 评论19 发布时间:2018-3-16 16:53
19个回答
半岛未凉° 回答时间:2018-7-8 12:55:12
jjbboox 发表于 2018-3-16 18:48
是的,我居然把syscalls.c的事情给忘记了,不好意思哈!另外可能printf如果不输出浮点数的话,那个Linker ...

请问syscalls.c这个文件如何调用进去呢?
zjczm 回答时间:2018-7-10 17:49:33
这个问题学习一下。还在实验。
为梦想疯狂的守夜人 回答时间:2018-7-18 14:24:40
为什么我找不到这个路径?????  >[MCU G++ Linker]->[Miscellaneous]->[Linker flags]
hi201803 回答时间:2018-9-2 22:40:14
本帖最后由 hi201803 于 2018-9-2 22:51 编辑
dontknowwhoiam 发表于 2018-3-16 18:19
谢谢。你说的很对,得使用__io_putchar进行重映射。在TrueSTUDI上试了试,还是不知道怎么设置。最后找到 ...
根据网友回复参考库例程, 于是参考 swstm32  调试的官方说明.
只要 修改3点:
1. 添加:
#include <stdio.h>   /* 不要写成 #include ”stdio.h“ 教训*/
2.  加入:
int __io_putchar(int ch)
{
  ITM_SendChar(ch);
  return ch;
}
3.  加入:
int _write(int file, char *ptr, int len)
{
int DataIdx;
  for (DataIdx = 0; DataIdx < len; DataIdx++)
   {
  __io_putchar(*ptr++);
   }
  return len;
}
------------------------------------------------------------------------------
附件是截图.

swstm32.png
hi201803 回答时间:2018-9-2 22:49:32
anobodykey 发表于 2018-3-22 22:23
看下库例程吧,基本上每个库都会有printf示例的

谢谢, 最权威的.

另外,  swstm32的  ,
  在菜单  Help / help Contents/SystemWorkbench for STM32 User Guide > Advanced/  SWOTraces 下面.

还有,根据swstm32文档,  还可以设置  Semihosting, 支持调试.  可以不需要 swo 线.
12

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版