punch95
Messages postés5Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention28 février 2003
-
28 févr. 2003 à 10:35
cedb002
Messages postés151Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention15 juin 2003
-
28 févr. 2003 à 11:06
J'ai trouvé un source c pour une liaison serie d'un beck sc12 et j'aimerai que l'on me commente le source si c possible merci.
/***************************************************************************/
// Example of using the fossil api.
//
// Created by Andre Pribil, on 11.05.2000
//
// Tested with Borland C/C++ 5.02 on a SC12 with Bios version 0.67
//
// Copyright Beck IPC GmbH
//
// Info: http://www.beck-ipc.com/chip /***************************************************************************/
/***************************************************************************/
// Display command line options
/***************************************************************************/
void usage (void)
{
printf("\r\nFossil Demo V0.4");
printf("\r\nUsage: fosdemo <data> <stop> <flow> <rs485> ");
printf("\r\n port: 0=EXT, 1=COM");
printf("\r\n data: 7, 8");
printf("\r\n parity: N, E, O, M, S");
printf("\r\n stop: 1, 2");
printf("\r\n flow: 0=No, 1=RTS/CTS 2=XON/XOFF");
printf("\r\n baud: baudrate");
printf("\r\n rs485: 1 use RS485");
printf("\r\n pol: RS485 polarity");
printf("\r\n pin: RS485 TxEnable pin");
printf("\r\n\r\n NOTE: 2 Stop bits are only available when no parity is set");
exit(1);
}
/***************************************************************************/
// Main
/***************************************************************************/
void main (int argc, char *argv[])
{
char chr;
unsigned long i;
unsigned int rs485, rs485pol, rs485pin;
unsigned bits, parity, stop, port, flow;
unsigned long maxbaud, baud;
int divisor,div1,div2;
long baud1,baud2;
char * tr_string = "HELLO";
// Get timer base freq.
inregs.h.ah = 0x8A;
inregs.h.al = 2;
int86x(HAL_INT, &inregs, &outregs, &segregs);
maxbaud = (((unsigned long)outregs.x.dx<<16)+outregs.x.ax);
// Look at parameters
if (argc >= 7)
{
port = atoi(argv[1]);
if (port>1) usage();
bits = atoi(argv[2]);
if ((bits<7) || (bits>8)) usage();
chr = argv[3][0];
switch (chr)
{
case 'N': case 'n': parity=0; break;
case 'O': case 'o': parity=1; break;
case 'E': case 'e': parity=2; break;
case 'M': case 'm': parity=3; break;
case 'S': case 's': parity=4; break;
default : usage();
}
stop = atoi(argv[4]);
if ((stop<1) || (stop>2)) usage();