[Gulli] la porta più "chiusa" del secolo: la seriale 
    Roberto Leone Jumpy 
    robleojump@jumpy.it
       
    Mar 25 Lug 2006 10:51:28 CEST
    
    
  
salve a tutti 
premetto che non sono un esperto e neanche bravo..ma un quasi neofita.
ho da chiedervi pareri su alcuni problemi riscontrati con la porta seriale.
provando ad eseguire codici del tipo :
int main()
{
	//int fd=open("/dev/lirc",O_WRONLY | O_NOCTTY | O_NDELAY);
	//int fd=open("/dev/lirc",O_RDWR | O_NOCTTY | O_NDELAY);
	int fd=open("/dev/lirc", O_NOCTTY | O_NDELAY);
	if (fd==-1)
		{/*could not open port */
			perror("open_port: unable to open /dev/ttyS0");
			extern int errno;
			printf("%d\n", errno);
		}else
			{printf("open_port:	OK \n");
quando uso int fd=open("/dev/lirc", O_NOCTTY | O_NDELAY); non ho problemi
, ma se provo ad utilizzare 
int fd=open("/dev/lirc",O_WRONLY | O_NOCTTY | O_NDELAY);
o
int fd=open("/dev/lirc",O_RDWR | O_NOCTTY | O_NDELAY);
l'esecuzione mi restituisce
open_port: unable to open /dev/ttyS0: Permission denied
29
premesso che io devo utilizzare la write system call...secondo voi come posso
fare a risolvere il mio problemino?
io comunque ho bisogno di fare la open almeno in scrittura o lettura scrittura
altrimenti non ho speranze vero?
cioè utilizzando semplicemente  | O_NOCTTY | O_NDELAY la seriale non è abilitata
a scrivere giusto?
altra domandina?
che significa che errno restituisce un numero come nel nostro caso il 29?
perchè anche in altri casi, ad esempio sfruttando la write mi ha restituito
un numero 9 (nove)
nel manuale parla di errori del tipo EACCESS , EAGAIN ma non spiega cosa
vuol dire quando si hanno restituzioni di tipo 9, 29..ecc ecc
grazie a tutti
________________________________________
Sfida subito i tuoi amici online! http://www.jumpy.mediaset.it/Canali_J/Giochi/Directory/Giochi_Multiplayer1.shtml
    
    
       
       Maggiori informazioni sulla lista 
	       Gulli