home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************************
- * This is to serve as an example of how to initialize a Hayes Smart- *
- * modem out of Lattice C. It initialize the baud rate divisors at *
- * baud, sets the parametes at 8 data bits, no parity, and 1 stop bit *
- * You can replace the pointer *mdmstg to the command values that you *
- * want to set the Hayes to. *
- * Program By: *
- * Lynn Long *
- * Tulsa IBBS C-SIG *
- * 300/450/1200, XMODEM, 24 hours *
- * Registration Required *
- ***********************************************************************/
- /* for comm port # 1. i will make this into a function as soon as *
- * i have time and pass the comm port, baud rate and setup string *
- * to it. Lynn Long */
-
-
- main()
- {
-
-
- unsigned byte=0x00;
- char *mdmstg = "ATE0X1V1Q0M0ST=45S2=255S0=1\r";
-
- outp(0x3fb,0x80); /* to access baud rate divisors */
- outp(0x3f8,0x60); /* set baud rate divisor lsb for 1200 bd */
- outp(0x3f9,0x00); /* set baud rate divisor msb for 1200 bd */
- outp(0x3fb,0x23); /* set line control reg for 8 bits, !parity, and 1 stop bit */
- outp(0x3fc,0x03); /* force dtr and cs signals on */
- outp(0x3f9,0x00); /* disable interrupts */
-
- while(*mdmstg != '\0'){
- byte = inp(0x3fd); /* input line status register byte */
- byte &= 0x20; /* look at transmit hold status bit */
- if(byte == 0x20){
- outp(0x3f8,*mdmstg); /* if transmit hold reg empty then */
- *mdmstg++; /* output a byte and bump pointer to string */
- }
- }
-
- }
-
-