Portál AbcLinuxu, 30. prosince 2025 07:03
#!/bin/bash
while true
do
read LINE < /dev/ttyS0
echo $LINE
# echo $LINE >> /serial.log
done
...akorát v C. Našel jsem spousty rad a příkladů programů v C tady na abclinuxu i na google. Ale nějak mi žádnej nefunguje. Buď to byly programy, které dělaly víc než jen to co chci a pak se mi je nepodařilo upravit. A nebo mi z nějakého důvodu nefungovaly.
Byl by prosím někdo schopen napsat mi sem program v C, kterej by četl z COM a vypisoval na obrazovku nebo do souboru? Včetně správných hlaviček.:)
Díky moc
//Spousta includů
#define BUFSIZE 128
char buf[BUFSIZE];
int main(int argc, char ** argv) {
int count;
int port = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
int log = open("/serial.log",O_CREAT | O_WRONLY | O_APPEND);
//fcntl(fd, F_SETFL, FNDELAY); //Pokud nechces, aby funkce read cekala na data
while (1) {
count = read(port,buf,BUFSIZE);
write(log,buf,count);
}
return 0;
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.