Теперь сам вопрос. Нужно данную последовательность разделить на кусочки по Х бит и скопировать эти биты в младшие Х разрядов другого буфера buffer_2: Старшие разряды остаются нулевыми.
unsigned idata char buffer_2[128];
То есть при Х=3 нужно получить buffer_2[0] = 0b00000100; buffer_2[1] = 0b00000111; buffer_2[2] = 0b00000010; buffer_2[3] = 0b00000111; и так далее.
Как это нормально программно разрулить, что-то запутался. Х может быть равно 3,4,5,6,7