I'm transmitting binary (in single 8-bit bytes) out of the Arduino and receiving the data on a PC. If I use Qbasic to receive the data, it comes out as expected.
When I use Hyperterminal, it is interpreting the data as text and altering it accordingly (adding null characters etc. ).
Is there a way to make Hyperterminal capture the data stream as raw bytes, and not alter it at all?
There are many options in Hyperterminal and I didn't want to have to play with each and every one.
Please consider using another terminal program as hyperterminal as there are better free ones. I personally use putty.exe, it works quite well. There are other equally well or even better. Some include scripting to automate the behaviour.
If I recall correctly Hyperterminal can do binary transfers but it can not switch between modes after it started. You need to make a new profile for that, not sure.
Well hyperterminal is better then the arduino built in serial monitor as far as features, it pales with more feature rich terminal programs. I use and recommend brey terminal program for windows users. It's free, very mature, more features then you will ever be able to figure out. It's a standalone EXE program so no installation required. I carry a copy with me on a memory stick.