I am getting this and it is annoying. is there anyone can see the mistake? and know how to fix it?
warning: (373) implicit signed to unsigned conversion
unsigned char read_soft_SPI(void) {
  unsigned char value = 0;
  unsigned char i = 0;
  unsigned char x = 0x80;
  SPI_SCK = 0;
  __delay_us(1);
  for (i = 0; i < 8; i++) {
    __delay_us(1);
    if (SPI_MISO == 1) {
      value = value | (x >> i);
    }
    SPI_SCK = 1;
    __delay_us(1);
    SPI_SCK = 0;
  }
  return value;
}
 
     
    