Tool/software:
Hi Expert
Customer is the new user of C2000 devices, they see some output during the test and want to discuss below:
1. in the operation: Dvb = (uint32_t)((level-1)*(0x7FF-0x0c)), the Dvb type is uint32, level type is uint32, the expect output is 0x0007E31A, but the real output is 0x0000E31A, the number 7 is ignored due to overflow. the question is why no matter level type is uint32 or uint16. the return value of the operation (level-1)*(0x7FF-0x0c) always looks like a uint16 result?
2. in the operation (uint32_t)pData[3]<<24 | pData[2]<<16 | pData[1]<<8 | pData[0];, the final return value is a uint16 type, which result in the lost of pData[3] and pData[2]. the pData is a uint_8 array. How CPU handle this operation in register?
Thanks
Joe
 
				 
		 
					 
                          