Так вышло, что с С я осваиваю недавно, но до сих пор все удавалось "из общих соображений"
Однако, встала примитивная задачка, а именно, загрузить указатель на память побайтно... я и так и так типы приводил - ругается компилятор
надо как то типы тут привести..
uint8_t * memptr;
uint8_t b0;
uint8_t b1;
uint8_t b2;
uint8_t b3;
memptr = b0;
memptr |= b1<<8;
memptr |= b2<<16;
memptr |= b3<<24;
так работает
memptr = (void*)b0;
а так уже не хочет применять оператор к указателю
memptr |=(void*) b1<<8;
... сделал, через введение доп переменной, но все таки хотелось бы покрасивее:
uint8_t *MemPtr;
uint32_t _MemPtr;
//а это стейт машина, жующая по 1 байту
case 17: _MemPtr = ch;//сначала младший байт
StatePhase = 18;
break;
case 18: _MemPtr |= (ch<<8);
StatePhase = 19;
break;//
case 19: _MemPtr |= ch<<16;
StatePhase = 20;
break;//
case 20: _MemPtr |= ch<<24;//вконце старший
MemPtr = (void*)_MemPtr;
StatePhase = 0;
break;
Заранее спасибо!


