knrt.net
当前位置:首页 >> stm32串口printF >>

stm32串口printF

我和你说一下:MDK环境中,用Printf()要把那个小库文件打上,才能输出文字!

工程属性中的target项中的code generation 选择 usemicrolib. 即可使用printf进行串口输出.库函数版本的:如果使用的是mdk,请在工程属性的“target“-》”codegeneration“中勾选”use microlib“ 进行如上设置后编译一下,串口输出正确的数据.

工程属性中的Target项中的Code Generation 选择 UseMicroLIB. 即可使用printf进行串口输出.库函数版本的:如果使用的是MDK,请在工程属性的“Target“-》”CodeGeneration“中勾选”Use MicroLIB“ 进行如上设置后编译一下,串口输出正确的数据.

1、 添加printf的头文件 #include 2、重写int fputc(int ch, file *f)函数int fputc(int ch, file *f);函数int fputc(int ch, file *f){usart_senddata(usart1, (uint8_t) ch);while (usart_getflagstatus(usart1, usart_flag_tc) == reset);return ch;}3、修改一下选中use microlib targetcode generation选中use microlib

1、 添加printf的头文件 #include <stdio.h>2、重写int fputc(int ch, FILE *f)函数int fputc(int ch, FILE *f);函数int fputc(int ch, FILE *f){USART_SendData(USART1, (uint8_t) ch);while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);return ch;}3、修改一下选中Use MicroLIB TargetCode Generation选中Use MicroLIB

可以使用usart-dma_tx这个功能,用dma来实现快速printf.一看头像就是济南的吧.

1 添加stdio.h 文件2 Target选项框里选Use MicroLib 选项3 代码添加,比如要用到Uart1,则给Uart1初始化,void UART1_Configuration(void) 我的代码供参考void UART1_

stm32用printf函数将结果从串口输出,在电脑上你用“超级终端”或者“串口调试助手”都没问题.只不过“超级终端”的显示更好看一些.

没有,需要自己在接收中断里写

/printf从定向int fputc(int ch,FILE *p){ USART_SendData(USART2,(u8)ch); while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET); return ch;}这个是我的重定向函数,串口跟你选择不一样,其他都一样的,所以我想这一部分你可能没有问题吧,想想有没有其他地方出现问题呢!

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com