如题,用cube自动生成的代码,用的是咱们自家的TrueSTUDIO编译器,但是无法使用printf函数。
直接在main函数下添加
- #include "stdio.h"
- int fputc(int ch, FILE *f)
- {
- while((USART1->ISR&0X40)==0);//循环发送,直到发送完毕
- USART1->TDR=(u8)ch;
- return ch;
- }
复制代码 不行啊。- #pragma import(__use_no_semihosting)
- //标准库需要的支持函数
- struct __FILE
- {
- int handle;
- };
- FILE __stdout;
- //定义_sys_exit()以避免使用半主机模式
- void _sys_exit(int x)
- {
- x = x;
- }
- 重定义fputc函数
- int fputc(int ch, FILE *f)
- {
- while((USART1->ISR&0X40)==0);//循环发送,直到发送完毕
- USART1->TDR=(u8)ch;
- return ch;
- }
复制代码 这样添加也不行,会提示#pragma import(__use_no_semihosting)这句话没编译,不知各位前辈放假前是否还有时间,帮忙解决一下,小弟感激不尽。
|
syscalls.zip
2018-4-28 17:48 上传
点击文件名下载附件
下载积分: ST金币 -11.46 KB, 下载次数: 51, 下载积分: ST金币 -1
评分
查看全部评分
https://www.stmcu.org.cn/module/ ... ighlight=TrueSTUDIO
评分
查看全部评分