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


void UART1_IRQHandler(void) {
    if (MDR_UART1->MIS & (1 << 4)) {
        uint8_t data = MDR_UART1->DR;
        
        // Инвертируем PA0 при каждом принятом байте
        if (PORT_ReadInputDataBit(MDR_PORTA, PORT_Pin_0))
            PORT_ResetBits(MDR_PORTA, PORT_Pin_0);
        else
            PORT_SetBits(MDR_PORTA, PORT_Pin_0);
        
        // Остальной код сохранения в буфер...
        rx_buf[rx_head] = data;
        rx_head = (rx_head + 1) % RX_BUF_SIZE;
        if (rx_count < RX_BUF_SIZE) rx_count++;
    }
}