Discussion in "Software" started by    redsuns    Apr 11, 2010.
Sun Apr 11 2010, 10:59 am
#1
hello, i now have 3 bytes that need to place as first byte,second byte and third byte in a variable then converted into a decimal number ,
but the result is 0, can anyone help
supposely the b1,b2 and b3 for me is variable

#include <stdlib.h>

unsigned char fb,sb;
unsigned int count,size;
unsigned long packages,temp,b1,b2,b3;
float temppack;
char pac_show [sizeof(unsigned long)*8+1];

void main(void)
{
	b1 = 0xF5;
	b2 = 0xCE;
	b3 = 0x12;
	temp=b1;
	temp<<8;
	temp+=b2;
	temp<<8;
	temp+=b3;
	temppack=temp/506;
	packages = (unsigned long) temppack;
	ultoa(packages,pac_show,10);
	LCD_sendstring(pac_show);
}


[ Edited Sun Apr 11 2010, 11:25 am ]
Sun Apr 11 2010, 05:12 pm
#2
problem is there, make the following changes..

temp=b1;
temp=temp<<8;
temp=temp+=b2;
temp=temp<<8;
temp=temp+=b3;


you forgot to store temp after shifting

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Lewisuhakeply
Thu Apr 18 2024, 06:00 pm
Darrellciz
Thu Apr 18 2024, 11:07 am
Charlessber
Thu Apr 18 2024, 09:29 am
BartonSem
Thu Apr 18 2024, 04:56 am
DonaldKnown
Thu Apr 18 2024, 12:24 am
utaletxcyw
Wed Apr 17 2024, 10:21 am
Anthonyvab
Wed Apr 17 2024, 08:48 am
RobertCix
Wed Apr 17 2024, 06:46 am