完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了便于调试,我们经常要使用到printf函数,打印出调试的信息。在Keil软件中,要使用printf输出函数的话,注意需要先把use MicrolLIB选项选上,如下图。
接着 ,在main函数的添加头文件下方添加printf函数的声明,代码如下: /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "stm32f4xx_hal.h" // 添加的代码如下,进行函数重构 #ifdef __GNUC__ //gcc编译器宏定义 /* 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__ */ /*上面的意思是: 如果定义了宏__GNUC__,即使用GCC编译器,则定义宏#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) 如果没有定义宏__GNUC__,即不使用GCC编译器,则定义宏#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) */ //添加printf重构函数的实现部分 PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF); return ch; } 在mian函数的while(1)循环中添加打印输出函数,测试效果。 while (1) { printf("printf tesetrn");//打印输出 HAL_Delay(1000);//延时1S } 测试效果如下图,可是实现printf函数的打印。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:42 , Processed in 0.872918 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号