完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前两天在STM32上写了一个串口发送字符的程序,在keil中重写了fputc(),但是调试时不能运行,网上查阅后有篇文章是这样写的:
有没有系统一点介绍嵌入式中printf的使用方法呢?还有keil中怎么添加微库,有没有微库的资料? 标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数. 例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: #ifdef __GNUC__ /* 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 /* __GNUC__ */ PUTCHAR_PROTOTYPE { /* Place your implementation of fputc here */ /* e.g. write a character to the USART */ USART_SendData(USART1, (uint8_t) ch); /* Loop until the end of transmission */ while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); return ch; } 因printf()之类的函数,使用了半主机模式。使用标准库会导致程序无法运行,以下是解决方法: 方法1.使用微库,因为使用微库的话,不会使用半主机模式. 方法2.仍然使用标准库,在主程序添加下面代码: #pragma import(__use_no_semihosting) _sys_exit(int x) { x = x; } struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file handling */ /* is required. */ }; /* FILE is typedef’ d in stdio.h. */ FILE __stdout; |
|
相关推荐
5个回答
|
|
回复【楼主位】 传说杨哥 :
------------------------------- 使用微库,如下图,选中use microlib即可: 另外,如果不想用微库,可以参考我的串口例程,里面的代码支持printf的。 |
|
|
|
谢谢!知道了!
你的代码其实我早看了!里面多了一个 _sys_exit(int x) { x = x; } 和上面那个方法二一样!可是我不知道这个函数有什么作用,有没有这方面的资料?英文也行 |
|
|
|
|
|
|
|
3q!受教了!
不过我的jtag好像不太稳定,每次一上电第一次调试都是好的,等退出调试后再次调试目标板就没反应了,其他也没什么异常,给目标板和jtag重新上电后又一切正常,但是第二次进入debug又不行了,搞得我现在调程序很麻烦 |
|
|
|
回复【5楼】传说杨哥:
------------------------------- 不至于吧。JTAG一般都很稳定啊。 你说的调试后退出就没反应了,具体什么现象?无法连接JTAG?还是无法找到STM32? |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:24 , Processed in 0.844159 second(s), Total 55, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号