/*************************************************************************************************************************************/ /* */ /* T E S T D E S F O N C T I O N S E L E M E N T A I R E S */ /* D U D I S Q U E V I D E O B E T A - P A L A 1200 B A U D S : */ /* */ /* */ /* Author of '$xtc/disk_vi_P.11$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */ /* */ /*************************************************************************************************************************************/ #include <stdio.h> #include <fcntl.h> #include <sys/signal.h> #define SEND(caractere) \ { \ char *pointeur=&bufferOUT[0]; \ bufferOUT[0] = caractere; \ /* Fonction demandee... */ \ write(desc,pointeur,1); \ READ; \ } #define READ \ { \ char *pointeur=&bufferIN[0]; \ read(desc,pointeur,1); \ } main() { int n; int desc,descOUT,descIN; char bufferIN[100],bufferOUT[100]; printf("\n initialisation=%d",system("stty sane < /dev/ttyd2")); printf("\n programmation =%d",system("stty 1200 -cstopb -parity raw -echo < /dev/ttyd2")); desc = open("/dev/ttyd2",O_RDWR | O_NDELAY); printf("\n desc =%d",desc); READ; printf("\n close =%d",close(desc)); desc = open("/dev/ttyd2",O_RDWR); printf("\n desc =%d",desc); SEND(0x43); /* Demande "PAL_BETA_SEARCH". */ SEND('9'); SEND('0'); SEND('0'); SEND('0'); SEND('1'); SEND(0x40); /* Demande "PAL_BETA_ENTER". */ sleep(6); /* ATTENTION, il y a un probleme avec le 'LVR4000' car, en effet : */ /* */ /* 1-le programme rend la main plusieurs secondes avant le positionnement effectif */ /* a l'adresse demandee "90001"), */ /* 2-apres ce positionnement, si l'on passe la machine en local et qu'on demande */ /* un "search" au pupitre a l'adresse "123" (par exemple), la machine passe d'abord */ /* par l'adresse "8523", puis au bout de quelques secondes se place en "123"... */ /* */ printf("\n close =%d",close(desc)); }