#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{

本文介绍了如何在STM32上实现串口读写功能。提供了USART_printf()函数用于发送格式化字符串,USART_scanf()函数用于接收串口数据并进行解析。这两个函数分别使用了vsprintf和vsscanf进行处理,实现了类似C标准库中的printf和scanf的功能。通过USART_GetFlagStatus检查接收标志,确保数据正确传输。
最低0.47元/天 解锁文章
1787

被折叠的 条评论
为什么被折叠?



