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

TrueSTUDIO如何使用printf函数

[复制链接]
ligongxiaobie 提问时间:2018-4-28 14:56 /
如题,用cube自动生成的代码,用的是咱们自家的TrueSTUDIO编译器,但是无法使用printf函数。

直接在main函数下添加
  1. #include "stdio.h"

  2. int fputc(int ch, FILE *f)
  3. {
  4.         while((USART1->ISR&0X40)==0);//循环发送,直到发送完毕
  5.         USART1->TDR=(u8)ch;
  6.         return ch;
  7. }
复制代码
不行啊。
  1. #pragma import(__use_no_semihosting)
  2. //标准库需要的支持函数
  3. struct __FILE
  4. {
  5.         int handle;
  6. };

  7. FILE __stdout;
  8. //定义_sys_exit()以避免使用半主机模式
  9. void _sys_exit(int x)
  10. {
  11.         x = x;
  12. }
  13. 重定义fputc函数
  14. int fputc(int ch, FILE *f)
  15. {
  16.         while((USART1->ISR&0X40)==0);//循环发送,直到发送完毕
  17.         USART1->TDR=(u8)ch;
  18.         return ch;
  19. }
复制代码
这样添加也不行,会提示#pragma import(__use_no_semihosting)这句话没编译,不知各位前辈放假前是否还有时间,帮忙解决一下,小弟感激不尽。
收藏 1 评论3 发布时间:2018-4-28 14:56

举报

3个回答
ligongxiaobie 回答时间:2018-4-28 17:01:35
千万别沉啊 。或者用过这个编译器的 介绍一个例程也行啊 我自己看看
黑皮男 回答时间:2018-4-28 17:49:12
TrueSTUDIO,我没用过,不过看论坛中好像是需要设置,还需要附件中的文件吧

syscalls.zip

下载

1.46 KB, 下载次数: 51, 下载积分: ST金币 -1

评分

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

查看全部评分

ligongxiaobie 回答时间:2018-5-3 10:26:31
解决了,配合这个帖子看就行。
https://www.stmcu.org.cn/module/ ... ighlight=TrueSTUDIO

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

所属标签

相似问题

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