Witam,

Jestem nowy i proszę o pomoc jak w temacie.

Program napisałem w Qt ale nie mogę się dogadać z Nucleo. Jak załączę wszystko mogę tylko jednym stanem obsłużyć diodę, później jakby się zawieszał bądź przepełniał. Z terminala wszystko jest ok więc mam tutaj jakiegoś chochlika;/

Cube IDE -------------------------------------------------------------------------

/* USER CODE BEGIN PFP */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    uint8_t Data[50]; // Tablica przechowujaca wysylana wiadomosc.
    uint16_t size = 0; // Rozmiar wysylanej wiadomosci
{

         // Odebrany znak zostaje przekonwertowany na liczbe calkowita i sprawdzony
         // instrukcja warunkowa
         switch (atoi(&Received)) {

         case 0: // Jezeli odebrany zostanie znak 0
         size = sprintf(Data, "STOP\n\r");
         HAL_GPIO_WritePin(D1_GPIO_Port, D1_Pin, GPIO_PIN_RESET);
         break;

         case 1: // Jezeli odebrany zostanie znak 1
         size = sprintf(Data, "START\n\r");
         HAL_GPIO_WritePin(D1_GPIO_Port, D1_Pin, GPIO_PIN_SET);
         break;

         }
HAL_UART_Transmit_IT(&huart2, Data, size); // Rozpoczecie nadawania danych z wykorzystaniem przerwan
 HAL_UART_Receive_IT(&huart2, &Received, 1); // Ponowne włączenie nasłuchiwania
}
}

QT-----------------------------------------------------

/* USER CODE END PFP */
void MainWindow::sendMessageToDevice(QString message)
{
    if(this->device->isOpen() && this->device->isWritable())
    {
        this->addToLogs("Wysyłam informacje do urządzenia " + message);
        this->device->write(message.toStdString().c_str());
    }
    else
    {
        this->addToLogs("Nie mogę wysłać wiadomości. Port nie jest otwarty!");
    }
}
void MainWindow::on_pushButtonLedOn_clicked()
{
    this->sendMessageToDevice("1");

}

void MainWindow::on_pushButtonLedOff_clicked()
{
    this->sendMessageToDevice("0") ;

}