если я правильно понял с запятой нужно работать здесь?
void set_segments(uint8_t data)
{
PA_ODR_ODR2 = data & 1; data >>= 1; // G
PC_ODR_ODR4 = data & 1; data >>= 1; // F
PC_ODR_ODR7 = data & 1; data >>= 1; // E
PC_ODR_ODR6 = data & 1; data >>= 1; // D
PC_ODR_ODR3 = data & 1; data >>= 1; // C
PA_ODR_ODR3 = data & 1; data >>= 1; // B
#ifndef SWIM_DEBUG_ENABLED
PD_ODR_ODR1 = data & 1; data >>= 1; // A (same pin of SWIM)
#else
data >>= 1;
#endif
PC_ODR_ODR5 = data & 1; data >>= 1; // Dp
}
void select_digit(uint8_t digit)
{
PD_ODR_ODR4 = digit != 0;
PD_ODR_ODR6 = digit != 1;
PD_ODR_ODR5 = digit != 2;
PB_ODR_ODR5 = digit != 3;
PB_ODR_ODR4 = digit != 4;
PA_ODR_ODR1 = digit != 5;
}
если я правильно понял с запятой нужно работать здесь?
void set_segments(uint8_t data)
{
PA_ODR_ODR2 = data & 1; data >>= 1; // G
PC_ODR_ODR4 = data & 1; data >>= 1; // F
PC_ODR_ODR7 = data & 1; data >>= 1; // E
PC_ODR_ODR6 = data & 1; data >>= 1; // D
PC_ODR_ODR3 = data & 1; data >>= 1; // C
PA_ODR_ODR3 = data & 1; data >>= 1; // B
#ifndef SWIM_DEBUG_ENABLED
PD_ODR_ODR1 = data & 1; data >>= 1; // A (same pin of SWIM)
#else
data >>= 1;
#endif
PC_ODR_ODR5 = data & 1; data >>= 1; // Dp
}
void select_digit(uint8_t digit)
{
PD_ODR_ODR4 = digit != 0;
PD_ODR_ODR6 = digit != 1;
PD_ODR_ODR5 = digit != 2;
}