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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用STM32 Nucleo将数据打印到文件中相关的知识,希望对你有一定的参考价值。

我正在使用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
", time, data);
fprintf(outfile, "%d,%d
", time, data);
time++;
fclose(outfile);

我究竟做错了什么?

答案

你的qazxsw poi实现显然只支持qazxsw poi和_write()流,它们与UART2硬链接(不可重定向)。

您需要该媒体的文件系统,媒体和适当的设备驱动程序,然后您需要实现stdout以支持除引用文件的stderr(1)和_write()(2)之外的文件描述符。

以上是关于使用STM32 Nucleo将数据打印到文件中的主要内容,如果未能解决你的问题,请参考以下文章

使用 PuTTY 从 STM32 打印

Nucleo STM32f103RB/F4 发现

在 Nucleo STM32 板上设置 SWV printf

ARM:使用 stm32l0 nucleo 在几秒钟后自动擦除闪存

stm32wb, nucleo-wb55, 传感器, 硬件

在 STM32CubeIDE 上打印(用 C 语言)到 IDE 控制台