diff --git a/keyboards/helix/serial.c b/keyboards/helix/serial.c index a4fd012bf8..f2652c20bc 100644 --- a/keyboards/helix/serial.c +++ b/keyboards/helix/serial.c @@ -182,9 +182,11 @@ static void serial_send_packet(uint8_t *buffer, uint8_t size) { uint8_t checksum = 0; for (uint8_t i = 0; i < size; ++i) { + uint8_t data; + data = buffer[i]; sync_send(); - serial_write_byte(buffer[i]); - checksum += buffer[i]; + serial_write_byte(data); + checksum += data; } sync_send(); serial_write_byte(checksum); @@ -194,9 +196,11 @@ static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { uint8_t checksum_computed = 0; for (uint8_t i = 0; i < size; ++i) { + uint8_t data; sync_recv(); - buffer[i] = serial_read_byte(); - checksum_computed += buffer[i]; + data = serial_read_byte(); + buffer[i] = data; + checksum_computed += data; } sync_recv(); uint8_t checksum_received = serial_read_byte();