汇集网友智慧,解决技术难题
国产芯片 技术交流 printf AT32 AT32_Work_Bench RT
赞0
评论
2024-11-13
2024-11-12
点击图片添加到编辑器内容中
点击文件名将附件添加到文章中
提交
tyw
314个答案
天意无罪
284个答案
xch
202个答案
jjjyufan
197个答案
coody
182个答案
LcwSwust
135个答案
chunyang
呐咯密密
106个答案
赞0
浏览网站和案例集 找到一段代码,有点像STM中CubeMX生成工程无法运行printf相似,拿来之后可以了,代码如下:
#if (__ARMCC_VERSION > 6000000)
__asm (".global __use_no_semihosting\n\t");
void _sys_exit(int x){x = x;}
//__use_no_semihosting was requested, but _ttywrch was
void _ttywrch(int ch){ch = ch;}
FILE __stdout;
#else
#ifdef __CC_ARM
#pragma import(__use_no_semihosting)
struct __FILE
{int handle;};
FILE __stdout;
void _sys_exit(int x){x = x;}
#endif
#endif
#if defined ( __GNUC__ ) && !defined (__clang__)
//with gcc/raisonance, small printf (option ld linker->libraries->small printf set to 'yes') calls
//__io_putchar()
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE{
while(usart_flag_get(USART1, USART_TDBE_FLAG) == RESET);
usart_data_transmit(USART1, ch);
return ch;
}
将这段代码拷贝到main.c文档的最后,再给个空格即可。
评论
2024-11-13
赞0
评论
2024-11-13
赞0
评论
2024-11-13
赞0
后就不报错了,printf命令不报错还是无法打印。
最后参考厂家原工程,添加了里面的一些语句就可以执行printf语句了
编程采用keilV5.25。
评论
2024-11-12
您需要登录后才可以回复 登录 | 注册