В основном у меня был COM-порт, подключенный к малине pi, и я пытаюсь добавить данные, полученные в TXT-файл. До сих пор мне удалось только открыть файл. Как мне изменить существующий код, чтобы он мог «сохранить» данные в открытый файл?Запись данных, полученных из COM-порта в файл .txt (raspbian)
Я также попытался редактировать его:
FILE *f;
f = fopen("try.txt", "a");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
int r;
char buf[255];
while(1)
{
r = read(fd, buf, 255);
buf[r]=0;
fprintf(f, "%s", buf);
}
fclose(f);
, но кажется, что это остановит данные поступают.
Теперь существующий код выглядит следующим образом:
#include <fcntl.h>
#include <stdio.h>
#include <termios.h>
#include <stdlib.h>
#include <strings.h>
#define SPEED B9600
#define PORT "/dev/ttyUSB0"
int main()
{
int fd = open(PORT, O_RDONLY | O_NOCTTY);
if (fd <0)
{
perror(PORT);
exit(-1);
}
struct termios options;
bzero(&options, sizeof(options));
options.c_cflag = SPEED | CS8 | CLOCAL | CREAD | IGNPAR;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &options);
FILE *f;
f = fopen("try.txt", "a");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
int r;
char buf[255];
while(1)
{
r = read(fd, buf, 255);
buf[r]=0;
printf("%s", buf);
}
}
Новое в raspbian и т.д .. любая помощь будет принята с благодарностью.
Отформатируйте свой код. –
@MichaelWalz Извините ... формат ..? что означает? – Athena
Формат или идентификатор означает помещение пробела в начале каждой строки, чтобы представлять блоки вашей программы, чтобы она была более читаемой. Посмотрите на программу _your_ и посмотрите примеры в своем учебнике C, вы заметите разницу –