| |||
Bizzare serial port output Posted by neilvp (neilvp), 23 March 2007 Can anyone shed any light on what is going on here?I am writing a script to control a piece of test equipment via the serial port (COM1) on a Windoze machine under XP, running ActiveState 8.4.13.0. One of the commands didn't work - this command included the value 0x8B and in trying to figure out why I wrote the following test code that generates a count of 0-255 and outputs each byte to the serial port. The serial port is being monitored by a utility within the PC the captured output of which is shown below. If I use the supplied demo (compiled C) code to control the instrument then the offending command works and is correctly shown in the serial port utility. (Therefore the problem is not a quirk of the monitoring utility) If one takes a look at the values between 0x82 and 0x9F the majority of them are 0x3F ! The same happens under wish or tclsh. The code... set serial_port [open com1: RDWR] fconfigure $serial_port -mode 9600,n,8,1 -handshake none # Generate a 0-255 count, convert to its single byte hex value, # place into the TxQueue on Com1 and then flush the lot set loop 0 while {$loop < 256} \ { puts -nonewline $serial_port [binary format c $loop] incr loop } flush $serial_port close $serial_port The results... 00 01 02 03 04 05 06 07 08 09 0D 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 3F 81 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 8D 3F 8F 90 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 9D 3F 3F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Any suggestions as to what is going on and more importantly how to fix it would be much appreciated. Regards Neil Posted by neilvp (neilvp), 23 March 2007 Doh!That will teach me not to cut and paste without thinking about it. fconfigure -translation binary is the answer. Puzzled as to why it only shows around 0x8? & 0x9? though. Posted by admin (Graham Ellis), 24 March 2007 Perhaps because they're the control codes but with the extra bits set? The codes that really shouldn't occur anywhere except in a binary string?This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
| |||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |