My code is as follows:
#define min_count 64985
unsigned int motor_position;
rprintf("\n\rmin_count is %d\n\r", min_count);
rprintf("min_count is %x\n\r", min_count);
motor_position = 32768;
rprintf("\n\rmotor position is %d\n\r", motor_position);
rprintf("rmotor position is %x\n\r", motor_position);
motor_position = 32765;
rprintf("\n\rmotor position is %d\n\r", motor_position);
motor_position = 30000;
rprintf("\n\rmotor position is %d\n\r", motor_position);
The results are:
min_count is -551
min_count is FDD9
motor position is -32768
motor position is 8000
motor position is 32765
motor position is 30000
I tried this code on my PC with lcc-win32 and it produced the
correct answers - no negative answers. It doesn't seem like
the "rprintf" see the 16 bit number as a unsigned number and
prints it like a signed number.
Any help would be appreciated. Thanks.