gpt4 book ai didi

c - 使用 STM32 Nucleo 将数据打印到文件中

转载 作者:行者123 更新时间:2023-11-30 14:50:23 25 4
gpt4 key购买 nike

我正在使用 STM32F401RE 从压力传感器采样数据。使用此函数,我可以使用 printf() 使用“Tera Term”在终端上打印数据。

int _write(int file, char *data, int len) {
int bytes_written;
if ((file != STDOUT_FILENO) && (file != STDERR_FILENO)) {
errno = EBADF;
return -1;
}
HAL_UART_Transmit(&huart2, (uint8_t*)data, len, 0xFFFFFFFFU);
return bytes_written;
}

我尝试使用此代码,但它不起作用。

outfile = fopen("output.csv", "a");
data = Read_Pressure();
printf("%d,%d\r\n", time, data);
fprintf(outfile, "%d,%d\r\n", time, data);
time++;
fclose(outfile);

我做错了什么?

最佳答案

您的_write()实现显然仅支持stdoutstderr流,并且它们硬链接(hard link)(不可重定向)到UART2。

您需要一个文件系统、媒体以及该媒体的适当设备驱动程序,然后您需要实现 _write() 以支持除 STDOUT_FILENO(1 ) 和 STDOUT_FILENO(2) 引用文件。

关于c - 使用 STM32 Nucleo 将数据打印到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49029591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com