本帖最后由 caijie001 于 2018-1-19 09:23 编辑
学习stm32,打交道最多的莫过于串口通讯了,但是官方的串口发送库太恶心了,完全不好用甚是还念C语言的printf,想输出什么就有什么,
现在,一步步来做个重定向,让你的stm32可以跟C语言一样能想看什么就看什么:
首先:
添加printf的头文件 :
#include <stdio.h> //当时学C语言最熟悉的stdio.h
其次:
改写int fputc(int ch, FILE *f)函数
int fputc(int ch, FILE *f); int fputc(int ch, FILE *f)
{ USART_SendData(USARTx, (uint8_t) ch); while (USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET); return ch;
} 最后: 在keil 平台上改下设置: Use MicroLIB ->Target -> Code Generation -> 选中Use MicroLIB 当然,前提是你初始化了USARTx
在IAR中一样的: 只不过最后一个设置改一下:Projec t- >Options -> General Options -> Library Configuration中的Library 项由"Normal"改为"Full"
|
杰杰辛苦了。