I am using an eprom emulator to tie into my 300ZX's engine control unit. It is a serial device that operates at 115K, No parity, 1 stop bit, 8 data bits. To prompt the device for its version string, you send a "V" plus checksum, which in this case is also "V". The return data is 3 bytes in length. First byte denotes the "1", second byte denotes the 06 and the 3rd byte is 1. This forms the version string "Firmware revision 1.06, Model 1".

When I send this "VV"command to the port and read whats in the recieve buffer, I get nothing. When I use the software that came with the device, it works fine so I know the hardware isn't fried. Here's a snippet of my code. Keep in mind I already initialize the hardware in a different sub and the light on the device turns on telling me that the port is properly opened to it.

Dim X As Integer
Dim Checksum As String
Dim Eprom_Data As String
Dim Command As String
Dim VersionString As String

Text1.Text = "Sending Initialization String"

X = 3
Command = "V"
Checksum = "V"
Command = Command + Checksum

While MSComm1.InBufferCount 'This section clears the buffer
junk = MSComm1.Input
Wend

MSComm1.InputLen = X
MSComm1.Output = Command 'Sending Verion prompt to Hardware
Do While MSComm1.InBufferCount 'Looping and waiting for data to show up
Text1.Text = "Looking for Hardware "
Text2.Text = MSComm1.InBufferCount
Text4.Text = Command
Eprom_Data = MSComm1.Input

Text1.Text = "Hardware Version " + Eprom_Data

Nada, nothing.

I have tweaked with this some and gotten it to actually produce 3 bytes of data, but they are all screwed up, I get a ?1a or a ?1d back from the device. I'm not sure if these values are in the incorrect type or how I can convert them to hex from this ASCII characters.

Help is much appreciated!