Get rid of the shifts, you don't need them since you are using a bit field and are assigning directly to the various bits. Then, change your current assignments:
complete_buff->buf1=(unsigned char)0x01;;
complete_buff->buf2=(unsigned char)0X00;
complete_buff->buff3=(unsigned char)0x01;
complete_buff->buff4=(unsigned char)0x01;
complete_buff->buff5=(unsigned char)0x00;
complete_buff->buff6=(unsigned char)0x00;
complete_buff->buff7=(unsigned char)0x00;
complete_buff->buff8=(unsigned char)0x00;
To this:
complete_buff.buf1=(unsigned char)0x01;;
complete_buff.buf2=(unsigned char)0X00;
complete_buff.buff3=(unsigned char)0x01;
complete_buff.buff4=(unsigned char)0x01;
complete_buff.buff5=(unsigned char)0x00;
complete_buff.buff6=(unsigned char)0x00;
complete_buff.buff7=(unsigned char)0x00;
complete_buff.buff8=(unsigned char)0x00;
You only use the "arrow" operator with pointers. Since you don't have a pointer, you use the "dot" operator.
Fbody
Posting Maven
2,929 posts since Oct 2009
Reputation Points: 833
Solved Threads: 394
Skill Endorsements: 5
Hi
we have a buffer say char array.[1].so the size will be 1 byte.
Why? An array is multiple bytes. 1 byte is a byte, not an array.
I have a fleet of cars -- it's a Ford.
I have a pride of lions -- his name is Leo
I have a pair of socks -- where's the other pair for my left foot.
WaltP
Posting Sage w/ dash of thyme
11,404 posts since May 2006
Reputation Points: 3,421
Solved Threads: 1,055
Skill Endorsements: 37
jephthah
Posting Maven
2,592 posts since Feb 2008
Reputation Points: 2,143
Solved Threads: 179
Skill Endorsements: 5