I've been experimenting with Racket v5.2 and a GW Instek 8212 meter connected to my PC via COM1 (running WinXP SP3).<div><br></div><div>The meter responds to simple commands (e.g., "V00" terminated with a line feed is read voltage) and I've written simple programs in Python, VB, and even QuickBasic to query the device.</div>
<div><br></div><div>However, I've had no success in getting the device to respond from inside the Racket REPL.</div><div><br></div><div>I've pasted the code I'm using below:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">
<div><div>#lang racket</div></div><div><div><br></div></div><div><div><div>(let*-values </div><div> (((in out) (open-input-output-file "COM1" #:mode 'binary)))</div></div></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px">
<div><div><div> (displayln "V00" out)</div></div></div><div><div><div> (printf "~C~a~n" #\tab (read-bytes 1 in))</div></div></div><div><div><div> (close-input-port in)</div></div></div><div><div><div>
(close-output-port out)) </div></div></div></blockquote><div><br></div><div><br></div><div>Running from the interpreter just gives me the output below:</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">
<div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div>#<eof></div><div><div>> </div></div></blockquote><div><br></div><div>A tester in-line with the serial cable shows I am actually writing to the port (I see a square-wave signal), so I know that I am at least writing to the port. </div>
<br><div>Any hints or pointers would be appreciated.</div>