我看了UART例程有printf,就高高兴兴地打开,想用一下printf.
谁知根本就不是我要的printf。例程的名字叫做pintf,其实是用串口函数输出一段字符。
那自已来吧。
1,我知道得应映一下
- /* Private function prototypes ********************************************/
- int fputc(int c,FILE *f)
- {
-
- while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
- USART_TxData(USART1,(uint8_t)c);
- return c;
- }
注意:重要事情说三遍,一定要加上while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
否则只打一个字符。
2,在头文件加上#include studio.h
3, MDK魔术棒微库打开
在主函数加上一句printf就行了:
- SystemCoreClockUpdate();
- SysTick_Config(SystemCoreClock / 1000);
-
- printf("Hello world!!!!!\n\r");
- while (1)
- {
- Delay();
- // for(i = 0; i < sizeof(txBuf); i++)
- // {
- // while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
- // USART_TxData(USART1, txBuf[i]);
- // }
- BOARD_LED_Toggle(LED2);
- }
运行结果:
|