ни в одно ветвление не заходит
uint8_t check_state(uint8_t row, uint8_t *button_count)
{
uint8_t temp = *button_count;
if (PINA & (1<<row))
{
if ((temp) < 5)
{
*button_count++;
}
else
{
return 1;
}
}
else
{
if ((temp) > 0)
{
*button_count--;
}
else
{
return 0;
}
}
}
Что-то из эмбеда, видимо? PINA скорее всего - это регистр, он как volatile объявлен?
Тут дело не в том, что эмбедед, а в моём незнании основ. Действительно дело в volatile было. Хотя я чёт с таким впервые сталкиваюсь вообще
Это вообще С++ у тебя ? Или С хотя бы ? В функции 4-5 веток и только 2 return-а
тут во всех ветках, кроме тех, что с return, UB (исполнение вываливается из функции без возврата), поэтому компилятор может их выкинуть
Так не может быть что никуда не заходит, как минимум в else { return 0; } должно заходить
Обсуждают сегодня