[comp.sys.mac.programmer] help with serial comm...

michaelh@neon.Stanford.EDU (Mike Hennahane) (03/08/91)

Help!!!!

The Problem: I'm trying to send an ASCII string to the modem port and
read the response. simple, huh? I thought that it would be. I'm using
THINK pascal, and my code follows.

What happens: nothing. I open the serial port, configure the input and
output devices, send my command, and read the response. None of my
calls returns an error. The return buffer is usually empty, but
sometimes echoes back the command that I sent it. In the code here,
I'm just sending a simple modem reset, and don't get an 'OK' back.

Please respond via email. My address is michaelh@neon.stanford.edu.
I'm pretty frustrated; it's always seems to be something simple that I
just don't know about...

thanks,
--mike

program serial;
	uses
		serial;
	var
		result: OSErr;
		AoutRefNumber, AinRefNumber: integer;
		command: str255;
		return: string[64];
		count: longint;
		serStatIn, serStatOut: SerStaRec;
begin
	result := OpenDriver('.AOut', AoutRefNumber);
	result := serReset(AoutRefNumber, baud9600 + stop10 + noParity + data8);
	result := OpenDriver('.AIn', AinRefNumber);
	result := serReset(AinRefNumber, baud9600 + stop10 + noParity + data8);
	result := SerStatus(AoutRefNumber, serStatOut);(* just to check for errs in debugger *)
	result := SerStatus(AinRefNumber, serStatIn);
	command := concat('ATZ', chr(13));
	count := length(command);
	result := FSWrite(AoutRefNumber, count, @command);
	result := SerGetBuf(AinRefNumber, count);
	result := FSRead(AinRefNumber, count, @return);
	writeln('result: ', return);
	result := CloseDriver(AoutRefNumber);
	result := CloseDriver(AinRefNumber);
end.