/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 ? | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -26,6 +26,10 @@ Oui, voilà. À ce jour (20 déc. 2018), on va dire que ça ne marche pas. | ||||
| 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