Загрузка данных


float x = 0, y = 0;

while (1) {
    // Считывание X (KEY1-KEY4 на PORTE)
    // Присваиваем значения, чтобы проверить и 2-ю, и 4-ю четверти
    if (PORT_ReadInputDataBit(MDR_PORTE, PORT_Pin_0) == 0) x = -4.0f;
    if (PORT_ReadInputDataBit(MDR_PORTE, PORT_Pin_1) == 0) x = -2.0f;
    if (PORT_ReadInputDataBit(MDR_PORTE, PORT_Pin_2) == 0) x = 2.0f;
    if (PORT_ReadInputDataBit(MDR_PORTE, PORT_Pin_3) == 0) x = 4.0f;

    // Считывание Y (KEY5-KEY8 на PORTB)
    if (PORT_ReadInputDataBit(MDR_PORTB, PORT_Pin_0) == 0) y = -3.0f;
    if (PORT_ReadInputDataBit(MDR_PORTB, PORT_Pin_1) == 0) y = -1.0f;
    if (PORT_ReadInputDataBit(MDR_PORTB, PORT_Pin_2) == 0) y = 1.0f;
    if (PORT_ReadInputDataBit(MDR_PORTB, PORT_Pin_3) == 0) y = 3.0f;

    // Нажатие SELECT (PORTC пин 0)
    if (PORT_ReadInputDataBit(MDR_PORTC, PORT_Pin_0) == 0) {
        
        // ТВОЯ МАТЕМАТИКА (ВАРИАНТ №8):
        // 1. Вне круга R=2: (x*x + y*y >= 4.0f)
        // 2. Только 2-я (x<0, y>0) и 4-я (x>0, y<0) четверти: (x*y <= 0)
        
        if ( ((x*x + y*y) >= 4.0f) && (x * y <= 0) ) 
        {
            Blink(1); // Попал
        } 
        else 
        {
            Blink(2); // Не попал
        }

        // Ждем отпускания SELECT
        while(PORT_ReadInputDataBit(MDR_PORTC, PORT_Pin_0) == 0);
    }
}