/dev/ttyACM0 mon amour
This commit is contained in:
parent
73348c2339
commit
c7053d9c30
@ -1,5 +1,20 @@
|
||||
# Round Robin Database
|
||||
|
||||
Un grand classique du genre. Délicat à comprendre au début.
|
||||
Les principes sous-jacents sont assez pointus, et leur mise en oeuvre
|
||||
loin d'être évidente pour les newbies.
|
||||
|
||||
La lecture de la manpage `rrdtutorial` est indispensable.
|
||||
|
||||
## premier exemple
|
||||
|
||||
|
||||
## et après ?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -27,6 +27,10 @@ Il faut dire que les `serial devices` ont toujours étés un peu le
|
||||
domaine de la magie noire. Mais quand même, coincer sur un `read` qui
|
||||
ne bloque pas, c'est un peu ironique.
|
||||
|
||||
Après un peu plus d'investigation, j'en arrive à conclure qu'il y a
|
||||
plein de subtilités entre les diverses variantes d'Arduino.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
16
serial/t.c
16
serial/t.c
@ -21,7 +21,7 @@ uart = open(dev, O_RDONLY | O_NOCTTY);
|
||||
if (uart < 0)
|
||||
{
|
||||
perror("unable to open uart");
|
||||
return -1;
|
||||
exit(1);
|
||||
}
|
||||
return uart;
|
||||
}
|
||||
@ -33,24 +33,22 @@ int serial_in, foo;
|
||||
unsigned char byte;
|
||||
|
||||
if (2 != argc) {
|
||||
fprintf(stderr, "device name ?\n");
|
||||
fprintf(stderr, "give me a device name, please.\n");
|
||||
return 2;
|
||||
}
|
||||
|
||||
serial_in = openserial(argv[1]);
|
||||
fprintf(stderr, "prepare uart -> %d\n", serial_in);
|
||||
|
||||
if (serial_in < 0) {
|
||||
exit(1);
|
||||
}
|
||||
fprintf(stderr, "openserial -> %d\n", serial_in);
|
||||
|
||||
for (;;) {
|
||||
foo = read(serial_in, &byte, 1);
|
||||
if (1 != foo) {
|
||||
fprintf(stderr, "get byte : err is %d\n", errno);
|
||||
fprintf(stderr, "get byte : got %d, err is %d\n", foo, errno);
|
||||
}
|
||||
else {
|
||||
printf("%9ld %02x/%d\n", time(NULL), byte, byte);
|
||||
printf("%9ld $%02x ", time(NULL), byte);
|
||||
if (isprint(byte)) putchar(byte);
|
||||
puts("");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user