this may help you
unsigned char GetNibble( BYTE* buffer , int nibbleIndex )
{
int byteIndex = nibbleIndex / 2;
if( nibbleIndex %2 )
{
return buffer[ byteIndex ] && 0x0F;
}
return ((buffer[ byteIndex ] && 0xF0)>>4);
}
unsigned char databuffer[ BUFFER_SIZE ];
unsigned char nibble_pattern[] = { 0xf , 0x0e , 0x9 , 0xa , 0x3 };
int num_nibbles = 5;
bool FindFirst( )
{
for( int i = 0 ; i < BUFFER_SIZE * 2 - num_nibbles ; i ++ )
{
if( GetNibble( databuffer , i ) == nibble_pattern[1]&&
GetNibble( databuffer , i + 1 ) == nibble_pattern[0]&&
GetNibble( databuffer , i + 2 ) == nibble_pattern[3]&&
GetNibble( databuffer , i + 3 ) == nibble_pattern[2]&&
GetNibble( databuffer , i + 4 ) == nibble_pattern[4]
)
{
return true;
}
}
return false;
}