1. STM32接SD卡实时保存传感器数据:
TF卡模块 单片机透传 只存 串口UART–保存文件形式:tf卡存数据txt或csv。
连接方式: 直接接串口,数据实时保存,文件自动创建。
2.类型解释:
串口通信的数据类型主要有两种:字符型和数值型。字符型数据是指按照ASCII码或其他编码方式传输的字符,如字母、数字、符号等。数值型数据是指按照二进制或十六进制等方式传输的数值,如整数、浮点数等。不同的数据类型在串口通信中有不同的处理方式,下面分别介绍:
字符型数据的收发比较简单,只需要调用库函数即可。STM32提供了以下一个简单的库函数方法:
int fputc(int ch, FILE*f):用于重定义标准输出函数,使得可以使用printf等函数向串口发送字符。该函数需要调用USART_SendData函数来实现。代码示例:
1)假设通过串口5进行SD卡数据保存:
int fputc(int ch,FILE *f) //用完记得关掉
{
UART5->SR; //USART_GetFlagStatus(USART1, USART_FLAG_TC) 解决第一个字符发送失败的问题
//一个一个发送字符
USART_SendData(UART5, (unsigned char) ch);
//等待发送完成
while(USART_GetFlagStatus(UART5,USART_FLAG_TC)!=SET);
return(ch);
}
2)在数据接收函数地方进行调用即可:
printf("angleyaw=%f,velocity=%f,dis_0=%d,dis_1=%d\r\n",angleyaw,velocity,dis_0,dis_1);