可以看到有两个printf进行数据打印;其中u3_printf();的代码原理体现在uasrt3.c中的:
- void u3_printf(char* fmt,...)
- {
- u16 i,j;
- va_list ap;
- va_start(ap,fmt);
- vsprintf((char*)USART3_TX_BUF,fmt,ap);
- va_end(ap);
- i=strlen((const char*)USART3_TX_BUF); //此次发送数据的长度
- for(j=0;j<i;j++) //循环发送数据
- {
- while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕
- USART_SendData(USART3,USART3_TX_BUF[j]);
- }
- }
通过这样的写法,就可以将数据通过串口3进行展现了,代码为了突出效果,将串口1和串口3数据同步输出,进行展现。
|