I am attempting to send the HEX values in Str1 to an LED sign on serial1 and serial is just to monitor it using Arduino's serial port monitor. When I look at serial1 using multiple 3rd party serial port monitors the data doesn't match that in Str1 and there is no decipherable pattern. The baud rates all match at 9600.
//Test RTD
int mph = 0;
int AR = 0;
int wait = 0;
byte Str1[23] ={0x55,0xAA,0x01,0x12,0x00,0xFB,0x80,0x11,0x00,0x0D,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x03,0x00,mph,AR,wait,0xEA};
int i;
No start , No stop, No parity is what the other serial monitors are set to. What does the serial.print command use? I looked and couldn't find any sort of protocol for how the serial functions actually communicate. If you could direct me to that that would help a lot.
When I look at serial1 using multiple 3rd party serial port monitors the data doesn't match that in Str1 and there is no decipherable pattern.
An understanding of the difference between Serial.print() and Serial.write() would be useful.
The Serial.print() function converts the data to be sent to a string, and sends that string. The HEX as the second argument tells the Serial.print() function to convert the value using base 16 numbering, so the resulting string will contain HEX characters.
What you apparently want to do is to send the bytes in the array as bytes, not strings, which is what the Serial.write() function does.
My new test code. I am receiving the same results as when I used Serial.print(). On the third party serial monitors that are set to no parity, 8 data, and 1 stop bit. I get 7F,55 when trying to send 01,55. 55 works apparently.