Question

Serial communications

Asked by: AlexFM

I have very old Pascal program which reads data from some device and writes it to text file. I want to write this data also to COM port. I can build this program using Turbo Pascal.
Program has the following procedure:

PROCEDURE WRITE_DATA(V2,TIME_IS,V,V1,V4,V5:REAL);
  VAR
     results: text;
  BEGIN;
    assign (results, filename);
    append(results);
    writeln(results,V,' ',TIME_IS,'  ',V2,'  ',V1,' ',V4,' ',V5);
    close(results);
  END;

This procedure is called periodically and resulting text file looks like this:

 0.0000000000E+00  1.7579170000E+04   0.0000000000E+00   1.2846000000E-01  0.0000000000E+00  0.0000000000E+00
 0.0000000000E+00  1.7584450000E+04   0.0000000000E+00   1.3625000000E-01  0.0000000000E+00  0.0000000000E+00
...

I want to write these 6 values to COM port.
If somebody has code for this, please post it. Since I don't have experience in Turbo Pascal and working with it using programmer's common sence, please give detailed answer. I also want to know what data is written to the port, because I need to interpret it in the Windows client program. What is REAL type, how many bytes it takes etc.
Thanks.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2004-12-03 at 10:16:50ID21229549
Tags

pascal

,

serial

Topic

Pascal Programming Language

Participating Experts
3
Points
500
Comments
27

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. TURBO PASCAL PROGRAM
    WRITE A SIMPLE PROGRAM FOR CALCULATOR THAT WILL RUN UNDER TURBO PASCAL. REQUIREMENTS 1.) CAPABLE OF MDAS(MULTIPLICATION,DIVISION,ADDITION & SUBTRACTION) OPERATION - MORE THAN 2 NOS. TO INPUT. 2.) PLUS CORRESPONDING MESSAGES I.E. ERROR, INTEGER AND REMAINDER ON DIVISIONS....
  2. Borland Turbo Pascal
    OK, bit of a weird question here, seem as turbo pascal is so similar to delphi I thought some one might know the answer. How do you load text files and edit and save them in turbo pascal?
  3. "writeln" in Lotus notes?
    is there a "writeln" (as in turbo pascal) .... i want to insert some valuables into a table. however, i want the system to save a space line under each values. if in pascal, we would use "writeln" to write to the next line. can we do the same thing in l...
  4. turbo pascal units
    I have a turbo pascal 7 unit that I wish to decompile. Does anyone know of a utility to do this ?
  5. Is there any Delay function in Turbo Pascal For Windows?
    Hi, I know that the Delay function is not available Turbo Pascal 1.5 for Windows. Is there any equivalent function that I can use to delay the execution? Thanks for help. Holmium
  6. Pascal
    hi.. as i previously mentioned my problem..(i've just started learning the pascal language and was wondering if u could help me.. i wanted to ask how can i write a pascal programe which will read in my height in centimeter(cm) and print it out in centimeter(cm) and meter(m)...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: AlexFMPosted on 2004-12-03 at 10:22:42ID: 12738720

BTW, I found some information in EE about serial communications in Pascal, but I hope to get specific answer to my question. I don't know how to apply this information and how to send REAL numbers.
So, Pascal experts, make your points! I will ask additional questions if necessary.

 

by: abbdanPosted on 2004-12-03 at 23:05:38ID: 12742596

{$U+}

  var
    Port,Baud,StopBits,DataBits,Par: Integer;
    Message: String[80];

  type
    String19=String[19];

{ A set of routines to enable COM1 and COM2 to be accessed from Turbo Pascal.
  The following procedures are meant to be called by your programs:

  AssignAux(PortNumber in [1,2]) assigns Aux to COM1 or COM2
  AssignUsr(PortNumber in [1,2]) assigns Usr to COM1 or COM2
  SetSerial(PortNumber in [1,2],
            BaudRate in [110,150,300,600,1200,2400,4800,9600],
            StopBits in [1,2],
            DataBits in [7,8],
            Parity in [None,Even,Odd]) sets the baud rate, stop bits, data
                               bits, and parity of one of the serial ports.

  The arrays InError and OutError may be examined to detect errors.  The bits
  are as follows:
     Bit 7 (128)        Time out (no device connected)
     Bit 3 (8)          Framing error
     Bit 2 (4)          Parity error
     Bit 1 (2)          Overrun error

  Function SerialStatus(PortNumber in [1,2]) returns a more complete status:
     Bit 15 (negative)  Time out (no device connected)
     Bit 14 (16384)     Transmission shift register empty
     Bit 13 (8192)      Transmission holding register empty
     Bit 12 (4096)      Break detect
     Bit 11 (2048)      Framing error
     Bit 10 (1024)      Parity error
     Bit 9  (512)       Overrun error
     Bit 8  (256)       Data ready
     Bit 7  (128)       Received line signal detect
     Bit 6  (64)        Ring indicator
     Bit 5  (32)        Data set ready
     Bit 4  (16)        Clear to send
     Bit 3  (8)         Delta receive line signal detect
     Bit 2  (4)         Trailing edge ring detector
     Bit 1  (2)         Delta data set ready
     Bit 0  (1)         Delta clear to send

  Identifiers starting with "__" are not meant to be used by the user program.
}

  Type
    __RegisterSet=Record case Integer of
                  1: (AX,BX,CX,DX,BP,DI,SE,DS,ES,Flags: Integer);
                  2: (AL,AH,BL,BH,CL,CH,DL,DH: Byte);
                end;
    __ParityType=(None,Even,Odd);

  var
    __Regs: __RegisterSet;
    InError,OutError: Array [1..2] of Byte;

  procedure __Int14(PortNumber,Command,Parameter: Integer);
  { do a BIOS COM driver interrupt }

    begin
      with __Regs do
       begin
        DX:=PortNumber-1;
        AH:=Command;
        AL:=Parameter;
        Flags:=0;
        Intr($14,__Regs);
       end;
    end;


  procedure SetSerial(PortNumber,BaudRate,StopBits,DataBits: Integer;
                      Parity: __ParityType);
  { Set serial parameters on a COM port }

    var
      Parameter: Integer;

    begin
      case BaudRate of
        110: BaudRate:=0;
        150: BaudRate:=1;
        300: BaudRate:=2;
        600: BaudRate:=3;
        1200: BaudRate:=4;
        2400: BaudRate:=5;
        4800: BaudRate:=6;
        else BaudRate:=7; { Default to 9600 baud }
       end;
      if StopBits=2 then StopBits:=1
      else StopBits:=0; { Default to 1 stop bit }
      if DataBits=7 then DataBits:=2
      else DataBits:=3; { Default to 8 data bits }
      Parameter:=(BaudRate Shl 5)+(StopBits Shl 2)+DataBits;
      case Parity of
        Odd: Parameter:=Parameter+8;
        Even: Parameter:=Parameter+24;
        else; { Default to no parity }
       end;
      __Int14(PortNumber,0,Parameter);
    end;


  Function SerialStatus(PortNumber: Integer): Integer;
  { Return the status of a COM port }

    begin
      __Int14(PortNumber,3,0);
      SerialStatus:=__Regs.AX;
    end;


  procedure __OutPort1(C: Byte);
  { Called by Write to Aux or Usr when assigned to COM1 }

    begin
      while (SerialStatus(1) and $30)=0 do ;
      __Int14(1,1,C);
      OutError[1]:=OutError[1] Or (__Regs.AH and $8E);
    end;




  Function __InPort1: Char;
  { Called by Read from Aux or Usr when assigned to COM1 }

    begin
      __Int14(1,2,0);
      __InPort1:=Chr(__Regs.AL);
      InError[1]:=InError[1] Or (__Regs.AH and $8E);
    end;





  procedure __AssignPort(PortNumber: Integer; var InPtr,OutPtr: Integer);
  { Assign either Aux or Usr to either COM1 or COM2 }

    begin
        OutPtr:=Ofs(__OutPort1);
        InPtr:=Ofs(__InPort1);
        InError[1]:=0;
        OutError[1]:=0;
    end;


  procedure AssignAux(PortNumber: Integer);
  { Assign Aux to either COM1 or COM2 }

    begin
      __AssignPort(PortNumber,AuxInPtr,AuxOutPtr);
    end;




  Function Binary(V: Integer): String19;

    var
      I: Integer;
      B: Array [0..3] of String[4];

    begin
      For I:=0 To 15 do
        if (V and (1 Shl (15-I)))<>0 then B[I Div 4][(I Mod 4)+1]:='1'
        else B[I Div 4][(I Mod 4)+1]:='0';
      For I:=0 To 3 do B[I][0]:=Chr(4);
      Binary:=B[0]+' '+B[1]+' '+B[2]+' '+B[3];
    end;

procedure comset;


  begin
    port :=1;

    assignAUX(Port);
    baud :=1200;

    stopbits :=1;

    databits :=8;

    par :=0;
    message :='ATZ';

    SetSerial(1,Baud,StopBits,DataBits,__ParityType(Par));
    WriteLn(AUX,Message);

  end;
var
  c : char;
begin

     comset;

     repeat

     if keypressed then begin {$I-}
     read(kbd,c);
     write(c);

     end;

     until (c = ^E);

end.

This will do exactly what your wanting it to but you will need to tweak the parameters of the port via the code.

Hope this helps.

 

by: AlexFMPosted on 2004-12-03 at 23:14:22ID: 12742627

Thanks. Can you change the last function code to send REAL number instead of characters? I need to send 5 REAL numbers from WRITE_DATA function, and I have no idea how to convert real to characters. Something like C pointers, unions, anything else?

 

by: mugman21Posted on 2004-12-03 at 23:19:31ID: 12742692


Real was defined as this on MIT's website:

The real data type has a positive range from 3.4x10-38 to 3.4x1038. Real values can be written in either fixed-point notation or in scientific notation, with the character E separating the mantissa from the exponent. Thus, 452.13 is the same as 4.5213e2


http://www.mit.edu/~taoyue/tutorials/pascal/pas1d.html

Mugman

 

by: For-SoftPosted on 2004-12-04 at 00:17:17ID: 12743080

You do not need BIOS or hardware access to a COM port to send data through it.
All you need to do is to set filename as a 'com1' or 'com2'.

Dos is capable of sending data through COM ports with file access as well. But COM port transfer parameters have to be set before program is run, or through BIOS or hardware access.

Just set filename as 'com1'

const filename='com1';
or
filename:=com1;

Tested it, and it works.

I used following program for testing:

Program COM;

 const filename='com1';

PROCEDURE WRITE_DATA(V2,TIME_IS,V,V1,V4,V5:REAL);
  VAR
     results: text;
  BEGIN;
    assign (results, filename);
    append(results);
    writeln(results,V,' ',TIME_IS,'  ',V2,'  ',V1,' ',V4,' ',V5);
    close(results);
  END;

begin
WRITE_DATA (1,2,3,4,5,6);
end.

 

by: AlexFMPosted on 2004-12-04 at 00:25:33ID: 12743115

Using this way, can I set COM port parameters in the program before sending data?

 

by: For-SoftPosted on 2004-12-04 at 00:29:06ID: 12743140

I used default com port settings, but it should be possible to set it with procedure:
procedure SetSerial(PortNumber,BaudRate,StopBits,DataBits: Integer; Parity: __ParityType);

 

by: AlexFMPosted on 2004-12-04 at 00:45:49ID: 12743224

Testing, thanks.

 

by: AlexFMPosted on 2004-12-04 at 01:06:12ID: 12743325

Trying to compile abbdan' code:
Error 25 Type mismatch

Cursor is set to the line:

 Intr($14,__Regs);

 

by: For-SoftPosted on 2004-12-04 at 01:33:14ID: 12743384

I added a part of my old library to the program. It works fine.
Sorry I did not translated all variable names from Polish, but I was in hurry.

Program COM;

 uses DOS;

 const filename='com1';

 const bd110 = 0;
       bd150 = 1;
       bd300 = 2;
       bd600 = 3;
       bd1200 = 4;
       bd2400 = 5;
       bd4800 = 6;
       bd9600 = 7;

       pNone = 0;
       pOdd = 1;
       pEven = 3;

       sI = 0;
       sII = 1;

       b7 = 2;
       b8 = 3;

       com1 = 0;
       com2 = 1;
       com3 = 2;
       com4 = 3;

  var R: Registers;
      OperationResult: Word;

PROCEDURE WRITE_DATA(V2,TIME_IS,V,V1,V4,V5:REAL);
  VAR
     results: text;
  BEGIN;
    assign (results, filename);
    append(results);
    writeln(results,V,' ',TIME_IS,'  ',V2,'  ',V1,' ',V4,' ',V5);
    close(results);
  END;

 procedure Initialize (Port: Byte; Szybkosc: Byte; Parzystosc: Byte; Stop: Byte; Dlugosc: Byte);
 begin
  R.AH:=0;
  R.AL:=Dlugosc+Stop*4+Parzystosc*8+Szybkosc*32;
  R.DX:=Port;
  Intr ($14,R);
  OperationResult:=R.AX;
 end;

begin
 Initialize (com1,bd9600,pEven,sI,b8);
 Write_Data (1,2,3,4,5,6);
end.

 

by: AlexFMPosted on 2004-12-04 at 02:01:55ID: 12743423

Error 160: Device write fault.

On the line:
writeln(results,V,' ',TIME_IS,'  ',V2,'  ',V1,' ',V4,' ',V5);

Computer has one COM port. It is running under DOS, I don't know how to see COM port settings. I see this port in Windows.

 

by: For-SoftPosted on 2004-12-04 at 02:10:04ID: 12743436

I get the same error, if there is no COM connection between computer and the other device.

I used a second computer (connected with link cable) with terminal program running (NC terminal emulation) as a receiver device.

 

by: AlexFMPosted on 2004-12-04 at 02:22:28ID: 12743455

I have ttwo computers connected with NULL-modem. VC++ programs listens for COM port. It has the following COM port settings:

DCB dcb;

    dcb.BaudRate = 9600;
    dcb.ByteSize = 8;
    dcb.Parity   = NOPARITY;
    dcb.StopBits = ONESTOPBIT;
    dcb.EvtChar = 0;

    dcb.fDtrControl     = 1;
    dcb.fRtsControl     = 1;
    dcb.fOutxCtsFlow    = 0;
    dcb.fOutxDsrFlow    = 0;
    dcb.fDsrSensitivity = 0;
    dcb.fOutX           = 0;
    dcb.fInX            = 0;
    dcb.fTXContinueOnXoff = 0;
    dcb.XonChar         = 0x11;
    dcb.XoffChar        = 0x13;
    dcb.XonLim          = 0;
    dcb.XoffLim         = 0;

    dcb.fParity = TRUE;

If this doesn't say you anything, plase explain how COM port is initialized in Pascal:

Initialize (com1,bd9600,pEven,sI,b8);

I guess that baud rate is 9600, what are other parameters?

 

by: For-SoftPosted on 2004-12-04 at 02:30:26ID: 12743465

I believe parity is a problem. Try this:

Initialize (com1,bd9600,pNone,sI,b8);

 

by: For-SoftPosted on 2004-12-04 at 02:33:35ID: 12743470

Parity settings:
       pNone = 0;
       pOdd = 1;
       pEven = 3;
Stop bits settings:
       sI = 0; {1 stop bit)
       sII = 1; (2 stop bits)
Byte size settings:
       b7 = 2;
       b8 = 3;

 

by: AlexFMPosted on 2004-12-04 at 02:37:31ID: 12743476

Still get error. Tries to change dcb.fParity to FALSE in VC++ client.
What is sI and b8? I can try to play with COM port parameters in VC++ program.

 

by: AlexFMPosted on 2004-12-04 at 02:38:03ID: 12743477

Didn't see your last post, trying.

 

by: For-SoftPosted on 2004-12-04 at 02:47:49ID: 12743491

Try to check the connection first.
Run the terminal program, on both computers. This will help to check, if connection works right.

Try RTS/CTS flow control
dcb.fDtrControl     = 0;
dcb.fRtsControl     = 1;
dcb.fOutxCtsFlow    = 1;
dcb.fOutxDsrFlow    = 0;

I did not tested DTR/DSR
dcb.fDtrControl     = 0;
dcb.fRtsControl     = 1;
dcb.fOutxCtsFlow    = 1;
dcb.fOutxDsrFlow    = 0;

The setting you posted:
dcb.fDtrControl     = 1;
dcb.fRtsControl     = 1;
dcb.fOutxCtsFlow    = 0;
dcb.fOutxDsrFlow    = 0;
looks very odd to me, as I never seen DTR/RTS flow control before.    

 

by: AlexFMPosted on 2004-12-04 at 02:52:13ID: 12743499

DCB parameter ByteSize may be from 4 to 8. Your byte size is 3. Maybe this is a reason?
I tried to change:

Initialize (com1,bd9600,pEven,sI,8);

without success.

 

by: AlexFMPosted on 2004-12-04 at 02:57:12ID: 12743513

   dcb.fDtrControl     = 0; //1;
    dcb.fRtsControl = RTS_CONTROL_ENABLE;  // RTS_CONTROL_ENABLE     0x01
    dcb.fOutxCtsFlow    = 1;
    dcb.fOutxDsrFlow    = 0;

The same result. What about ByteSize?

 

by: For-SoftPosted on 2004-12-04 at 03:06:40ID: 12743540

I used RTS/CTS flow control for testing.
Since the program worked right with my terminal program, it looks like it is not the program issue.

Byte length 2 and 3 setting comes from BIOS com port routine, where 2 bits are used for character length selection:
11 - 8 bit character
10 - 7 bit character

Some flow control systems will not work with some serial link cable configurations. Check if the connection between two terminal programs exists, first.

 

by: AlexFMPosted on 2004-12-04 at 04:13:12ID: 12743737

I am working with standard null-modem which allows to connect two computers and also two COM port on the same computer.
Let's say I don't have my own program in Windows, and need to receive data using HyperTerminal. Can you describe how can I do this? Pascal:
Initialize (com1,bd9600,pNone,sI,b8);

What should I do in Windows to receive this? For now, this doesn't work.

I am working in DOS on the server computer (with Pascal program). It is impossible to run it under Windows because this program talks with device by DOS way. If I run Windows on this computer, two my programs are talking successfully.

 

by: For-SoftPosted on 2004-12-04 at 04:30:14ID: 12743779

I never used Hyper Terminal to connect through COM port. I do not know how to do it, because it want's to create modem connection first. I never used COM cable conection in windows except with Direct Cable Connection built in software.

 

by: For-SoftPosted on 2004-12-04 at 04:44:36ID: 12743849

It was easier than I thought. Hyper Terminal connection works fine. I used Hardware Flow Control.

I'm not sure, if I understand you correctly. Connection works, when both computers are running windows. But it is not working when running DOS.

I saw similiar problems, when COM port was set to AUTO in BIOS setup on some intel chipset machines with phoenix BIOS. Maybe this is the source of the problem. The solution was to set COM port adress in BIOS setup to a fixed value.

 

by: AlexFMPosted on 2004-12-04 at 07:50:49ID: 12744504

Program still doesn't work, but I think nk I got enough information in this thread. For-Soft, you are invited to participate in my next question.

 

by: AlexFMPosted on 2004-12-12 at 00:38:12ID: 12803021

For-Soft, thank you very much for your help, the program is working. I got additional information in this thread:
http://www.experts-exchange.com/Programming/Programming_Languages/C/Q_21236068.html

After adding loopback connections to communication cable the program is working as expected.

 

by: For-SoftPosted on 2004-12-12 at 01:09:44ID: 12803176

We have used the DOS to send data. The cable has to match full RS232 7 wire connection. My cable certainly is. I bought it in computer shop. It's a tricky and universal design with 2 connectors at each end (1 9pin and 1 25pin). The bad thing about it is: it is reletively more difficult to carry.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...