请问stm32f103的串口实验里的printf函数是怎么回事?在哪里显示输出呢?在网上查的答案看不懂呀

2019-08-16 20:32发布

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
//ALIENTEK Mini STM32¿a·¢°å·¶ày′úÂë3
//′®¿úêμÑé   
//¼¼êõÖ§3Ö£owww.openedv.com
//1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾
int main(void)
{       
        u8 t;
        u8 len;       
        u16 times=0;

        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// éèÖÃÖD¶ÏóÅÏ輶·Ö×é2
        uart_init(9600);         //′®¿ú3õê¼»ˉÎa9600
        LED_Init();                           //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú

        while(1)
        {
                if(USART_RX_STA&0x8000)
                {                                          
                        len=USART_RX_STA&0x3fff;//μÃμ½′Ë′νóêÕμ½μÄêy¾Y3¤¶è
                        printf(" 您发送的消息为: ");
                        for(t=0;t<len;t++)
                        {
                                USART1->DR=USART_RX_BUF[t];
                                while((USART1->SR&0X40)==0);//μè′y·¢&#203;í&#189;áê&#248;
                        }
                        printf(" ");//插入换行
                        USART_RX_STA=0;
                }else
                {
                        times++;
                        if(times%5000==0)
                        {
                                printf(" ALIENTEK MiniSTM32开发板 串口实验 ");
                                printf("正点原子@ALIENTEK ");
                        }
                        if(times%200==0)printf("请输入数据,以回车键结束 ");  
                        if(times%30==0)LED0=!LED0;//éá&#203;&#184;LED,ìáê&#190;&#207;μí3&#213;y&#212;ú&#212;&#203;DD.
                        delay_ms(10);   
                }
        }         
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。