我正在使用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);
我究竟做错了什么?
你的qazxsw poi实现显然只支持qazxsw poi和_write()
流,它们与UART2硬链接(不可重定向)。
您需要该媒体的文件系统,媒体和适当的设备驱动程序,然后您需要实现stdout
以支持除引用文件的stderr
(1)和_write()
(2)之外的文件描述符。