完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
网上讲的添加printf()到程序中一般都是这样的(简要提一下):
1.配置GPIO ,USART,RCC 的Configuration 2.勾选u*** micro lib 3.在程序中添加:(头文件需要添加#include #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { USART_SendData(USART1, (u8) ch); while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); return ch; } 很明显这个方法使用printf()只能输出到usart1,如果需要使用多个usart呢,肯定不能都是用printf()。 方法如下是继续是用usart2的printf()功能: 1.配置usart2的串口配置,gpio,rcc enable,跟上面类似 2.勾选u*** micro lib,跟上面类似 3.添加头文件#include void USART2_printf (char *fmt, …) { char buffer[CMD_BUFFER_LEN+1]; // CMD_BUFFER_LEN长度自己定义吧 u8 i = 0; va_list arg_ptr; va_start(arg_ptr, fmt); vsnprintf(buffer, CMD_BUFFER_LEN+1, fmt, arg_ptr); while ((i < CMD_BUFFER_LEN) && buffer) { USART_SendData(USART2, (u8) buffer[i++]); while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); } va_end(arg_ptr); } 用法与printf类似,如int i=123;USART2_printf("%d",i); |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1154 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1185 浏览 1 评论
603 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
451 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1099 浏览 2 评论
1652浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
317浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
316浏览 3评论
309浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
284浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-28 03:16 , Processed in 0.936646 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191