¿Que rango de valores puede contener un BYTE? ¿Es posible que no sea menor o igual a 255?
unsigned es esta 255, pero ya con 256 hay OF, y ahi estaba el problema con el DO-WHILE.