Slappy:
I want to express my sincere gratitude for your advice. I have now revised my program. However, it is still experiencing the original problem of not looping unless serial.print() is used in another function (the first line of readUM6()). Any ideas?
Your code doesn't compile, so it is difficult to help.
sketch_oct09d.cpp: In function 'void read_UM6()':
sketch_oct09d:49: error: 'PT_HAS_DATA' was not declared in this scope
sketch_oct09d:49: error: 'PT_IS_BATCH' was not declared in this scope
sketch_oct09d:49: error: 'PT_BATCH_LEN' was not declared in this scope
sketch_oct09d:91: error: 'else' without a previous 'if'
sketch_oct09d.cpp:43: warning: unused variable 'temp'
sketch_oct09d:94: error: expected `}' at end of input