Citazione:
Originalmente inviato da romoloman no bastano 1.5fino a 4096
supponi di avere in Codice: uint8_t buffer[12] i 12 byte corrispondenti ai canali letti dalla seriale
uint16_t val[]={0,0,0,0,0,0,0,0};
for (int i=0; i<4; i++){
val[i*2]= buffer[i*3]<<4;
val[i*2]|= buffer[i*3+1]>>4;
val[i*2+i]=buffer[i*3+1]<<8;
val[i*2+i]|=buffer[i*3+2];
} |
codice corretto...
Codice:
uint8_t buffer[12] i 12 byte corrispondenti ai canali letti dalla seriale
uint16_t val[]={0,0,0,0,0,0,0,0};
for (int i=0; i<4; i++){
val[i*2]= buffer[i*3]<<4;
val[i*2]|= buffer[i*3+1]>>4;
val[i*2+1]=buffer[i*3+1]<<8;
val[i*2+1|=buffer[i*3+2];
}