I have an Amprobe 38XR-A (sometimes seen as a meterman), these DMM's have a IR RS232 port on top and transmit a HEX code. Using the official cable I get a hex value of:
08000400500A0
I am attempting to read the IR RS232 via Serial1 of a pro-micro and display the output via Serial, but am getting an incorrect HEX code of:
6C666196665665F6793D
I have tried changing the resistor, in case it wasn't turning on/off fully with no change to the output (unless its a drastic change, then nothing is seen).
A buffer size of 15 appears to give repeatable results and is inline with the specification.
In an attempt for repeatability I have a test lead between the common and ohm port of the DMM.
Set-up:
Arduino Code:
const int BUFFER_SIZE = 15;
char buf[BUFFER_SIZE];
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
while(!Serial){ }
}
void loop() {
if(Serial1.available()){
// read the incoming bytes:
int rlen = Serial1.readBytesUntil("\r\n", buf, BUFFER_SIZE);
// prints the received data
Serial.print("HEX Data: ");
for(int i = 0; i < rlen; i++)
Serial.print(buf[i], HEX);
Serial.println("");
}
}
Additional links: Output Codes PDF DMM Manual IR photodiode
edit

