STM32串口读写

来源:互联网 发布:淘宝350模板自助开通 编辑:程序博客网 时间:2024/06/15 07:06
#Include<string.h>

void USART_printf(const char *fmt,...) {      va_list ap;     char string[128];     va_start(ap,fmt);     vsprintf(string,fmt,ap);     USART_puts(string);     va_end(ap); } 

int USART_scanf(const char *fmt,...){ int i=0,g; unsigned char c; va_list args; char buffer[128]; memset(buffer,0,128); while(1) {  if(USART_GetFlagStatus(USART1,USART_IT_RXNE)==SET)  {   c=USART_ReceiveData(USART1);   USART_SendData(USART1,c);   if((c=='\r')||(c=='\n'))   {    buffer[i]=0;    break;   }else{    if(c=='\b'){     i--;    }else{     buffer[i++]=c;    }   }   for(g=0;g<500;g++);  } } for(g=0;g<10000;g++); USART_SendData(USART1,0x0d); for(g=0;g<10000;g++); USART_SendData(USART1,0x0a); for(g=0;g<10000;g++); va_start(args,fmt); i = vsscanf(buffer,fmt,args); va_end(args); return i;}

void USART_putc(const unsigned char ch){USART_SendData(USART1,ch);}void USART_puts(const unsigned char *str){unsigned char j=0;unsigned int i=0;while (*(str+j)){USART_putc(*(str+j));j++;for(i=0;i<10000;i++);}}



0 0
原创粉丝点击