Need to read up to 43 bytes of data, reading incorrectly.

What's cam? Is this software serial? Try reading all bytes into an array, and then do your debugging prints.