Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
STM32 generic board
Možda nisam baš pogodio topic ali ima veze sa STM32 pa ne zamerite što pišem ovde.

Radim ovih dana na jednom STM32 projektu i nikako da razumem i rešim kako radi HAL biblioteka pri radu sa UART-om. Ideja je da se koriste ugrađeni mehanizmi, konkretno:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

Još uvek verujem da negde ja grešim, pa bih podelio sa vama iskustvo, verujem da može biti poučno. Problem jesam rešio, ali ne na način kako HAL koncept nalaže.

Kao i do sada što sam radio koristim UART RX interrapt, u njemu cirkularni buffer i sakupljam podatke. Kasnije to u main petlji analiziram i to radi fenomenalno ukoliko koristim ovaj način kodiranja:

------------ VERZIJA KOJA RADI ------------------
Code:
void USART2_IRQHandler(void)
{
  /* USER CODE BEGIN USART2_IRQn 0 */
    unsigned char data;
    
  /* USER CODE END USART2_IRQn 0 */
  // HAL_UART_IRQHandler(&huart2);
  /* USER CODE BEGIN USART2_IRQn 1 */

    ////if (!U2STAbits.FERR && !U2STAbits.PERR && !U2STAbits.OERR)
    if((USART2->ISR & UART_FLAG_RXNE) != RESET)    
    {
        data = (uint8_t)(USART2->RDR); /* Receive data, clear flag */

        UART2Autoreset = 20; // x 10 ms = 200ms
        rx_buffer1[rx_wr_index1] = data;
        if (++rx_wr_index1 == RX_BUFFER_SIZE1) rx_wr_index1 = 0;
        if (++rx_counter1 == RX_BUFFER_SIZE1)
        {
            rx_counter1 = 0;
            rx_rd_index1 = rx_wr_index1;
        }
    }
    
    
  /* USER CODE END USART2_IRQn 1 */
}

U inicijalizaciji pokrećem interapte sa __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);

------------ VERZIJA KOJA NE RADI ------------------
Međutim, čemo onda HAL ako moram da se spustim na ovakav nivo komunikacije?

Očekivao sam da njihov primer radi isto dobro, ali avaj, dobijam svaki 5, 9, 12, 3 random... bajt i često mi se kompletno zaglavi UART RX interrupt. Da li je neko imao iskustva, jer iako sam rešio problem rekoh da pitam da li ja negde grešim sa HAL pristupom? Još jedna stvar koja mi se ne sviđa je što, ako sam dobro razumeo, interapti se gase kada se nalazimo u Callback funkciji, pa ih je potrebno ponovo uključiti na izlazu iz ove funkcije???

Evo dela koda koji mi NE RADI a preporučen je od strane STM-a:
Code:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(huart->Instance == USART2)
    {
        rx_buffer1[rx_wr_index1] = aRxBufferU2[0];
        if (++rx_wr_index1 == RX_BUFFER_SIZE1) rx_wr_index1 = 0;
        if (++rx_counter1 == RX_BUFFER_SIZE1)
        {
            rx_counter1 = 0;
            rx_rd_index1 = rx_wr_index1;
        }
    }
    HAL_UART_Receive_IT(&huart2, (uint8_t *)aRxBufferU2, 1);

}

U inicijalizaciji pokrećem interapte sa  HAL_UART_Receive_IT(&huart2, (uint8_t *)aRxBufferU2, 1);
Reply


Messages In This Thread
STM32 generic board - by gigabyte091 - 02-15-2017, 01:23 PM
RE: STM32 generic board - by gigabyte091 - 02-15-2017, 07:21 PM
RE: STM32 generic board - by gorankg - 02-15-2017, 09:02 PM
RE: STM32 generic board - by npejcic - 02-15-2017, 10:51 PM
RE: STM32 generic board - by gigabyte091 - 02-16-2017, 05:48 AM
RE: STM32 generic board - by gorankg - 02-16-2017, 07:25 AM
RE: STM32 generic board - by gigabyte091 - 02-16-2017, 07:56 AM
RE: STM32 generic board - by gorankg - 02-16-2017, 09:39 AM
RE: STM32 generic board - by gigabyte091 - 02-16-2017, 10:53 AM
RE: STM32 generic board - by gorankg - 02-16-2017, 11:11 AM
RE: STM32 generic board - by gigabyte091 - 02-16-2017, 12:18 PM
RE: STM32 generic board - by gorankg - 02-16-2017, 12:49 PM
RE: STM32 generic board - by gigabyte091 - 02-16-2017, 07:48 PM
RE: STM32 generic board - by gorankg - 02-16-2017, 11:02 PM
RE: STM32 generic board - by gigabyte091 - 02-17-2017, 06:56 AM
RE: STM32 generic board - by gigabyte091 - 03-02-2017, 08:50 AM
RE: STM32 generic board - by mikikg - 03-02-2017, 12:31 PM
RE: STM32 generic board - by mikikg - 03-02-2017, 12:41 PM
RE: STM32 generic board - by mikikg - 03-02-2017, 02:02 PM
RE: STM32 generic board - by gigabyte091 - 03-02-2017, 03:49 PM
RE: STM32 generic board - by me[R]a - 03-02-2017, 05:25 PM
RE: STM32 generic board - by vojinilic - 03-02-2017, 09:52 PM
RE: STM32 generic board - by gigabyte091 - 03-02-2017, 07:51 PM
RE: STM32 generic board - by mikikg - 03-02-2017, 11:42 PM
RE: STM32 generic board - by gigabyte091 - 03-03-2017, 07:53 AM
RE: STM32 generic board - by yugaja - 03-03-2017, 12:34 PM
RE: STM32 generic board - by mikikg - 03-03-2017, 01:39 PM
RE: STM32 generic board - by npejcic - 03-03-2017, 01:49 PM
RE: STM32 generic board - by mikikg - 03-03-2017, 02:08 PM
RE: STM32 generic board - by mikikg - 03-03-2017, 02:37 PM
RE: STM32 generic board - by mikikg - 03-03-2017, 02:57 PM
RE: STM32 generic board - by npejcic - 03-03-2017, 03:18 PM
RE: STM32 generic board - by mikikg - 03-03-2017, 03:30 PM
RE: STM32 generic board - by npejcic - 03-03-2017, 03:54 PM
RE: STM32 generic board - by gigabyte091 - 03-03-2017, 05:50 PM
RE: STM32 generic board - by mikikg - 03-05-2017, 12:10 AM
RE: STM32 generic board - by mikikg - 03-05-2017, 01:45 AM
RE: STM32 generic board - by gigabyte091 - 03-05-2017, 07:22 AM
RE: STM32 generic board - by npejcic - 03-05-2017, 09:52 AM
RE: STM32 generic board - by gigabyte091 - 03-05-2017, 10:41 AM
RE: STM32 generic board - by npejcic - 03-05-2017, 11:27 AM
RE: STM32 generic board - by mikikg - 03-05-2017, 01:42 PM
RE: STM32 generic board - by mikikg - 03-05-2017, 02:21 PM
RE: STM32 generic board - by yugaja - 03-06-2017, 10:30 AM
RE: STM32 generic board - by npejcic - 03-06-2017, 11:31 AM
RE: STM32 generic board - by yugaja - 03-06-2017, 11:37 AM
RE: STM32 generic board - by npejcic - 03-06-2017, 01:31 PM
RE: STM32 generic board - by gorankg - 03-06-2017, 01:57 PM
RE: STM32 generic board - by mikikg - 03-06-2017, 02:54 PM
RE: STM32 generic board - by mikikg - 03-06-2017, 03:56 PM
RE: STM32 generic board - by gigabyte091 - 03-06-2017, 04:21 PM
RE: STM32 generic board - by npejcic - 03-06-2017, 05:58 PM
RE: STM32 generic board - by mikikg - 03-06-2017, 06:04 PM
RE: STM32 generic board - by Macola - 03-06-2017, 07:22 PM
RE: STM32 generic board - by Macola - 03-06-2017, 07:38 PM
RE: STM32 generic board - by Macola - 03-06-2017, 07:47 PM
RE: STM32 generic board - by Macola - 03-06-2017, 08:15 PM
RE: STM32 generic board - by yugaja - 03-07-2017, 05:13 PM
RE: STM32 generic board - by Milan94 - 03-07-2017, 03:09 PM
RE: STM32 generic board - by vojinilic - 03-07-2017, 03:14 PM
RE: STM32 generic board - by mikikg - 03-07-2017, 03:23 PM
RE: STM32 generic board - by Macola - 03-07-2017, 05:34 PM
RE: STM32 generic board - by Macola - 03-07-2017, 05:50 PM
RE: STM32 generic board - by vojinilic - 03-07-2017, 08:03 PM
RE: STM32 generic board - by vojinilic - 03-07-2017, 08:54 PM
RE: STM32 generic board - by mikikg - 03-07-2017, 11:21 PM
RE: STM32 generic board - by Macola - 03-07-2017, 11:38 PM
RE: STM32 generic board - by mikikg - 03-08-2017, 04:03 AM
RE: STM32 generic board - by npejcic - 03-08-2017, 06:15 PM
RE: STM32 generic board - by mikikg - 03-10-2017, 10:06 AM
RE: STM32 generic board - by mikikg - 03-10-2017, 10:19 AM
RE: STM32 generic board - by gigabyte091 - 03-17-2017, 02:25 PM
RE: STM32 generic board - by progster - 07-13-2017, 04:49 PM
RE: STM32 generic board - by mikikg - 07-13-2017, 06:37 PM
RE: STM32 generic board - by Macola - 07-13-2017, 08:00 PM
RE: STM32 generic board - by progster - 07-13-2017, 09:13 PM
RE: STM32 generic board - by vojinilic - 07-14-2017, 08:04 AM
RE: STM32 generic board - by progster - 07-14-2017, 03:23 PM
RE: STM32 generic board - by Milan94 - 07-14-2017, 04:33 PM
RE: STM32 generic board - by progster - 07-14-2017, 04:45 PM
RE: STM32 generic board - by dlalkovic - 07-14-2017, 04:46 PM
RE: STM32 generic board - by progster - 07-14-2017, 04:50 PM
RE: STM32 generic board - by mikikg - 07-14-2017, 05:05 PM
RE: STM32 generic board - by progster - 07-14-2017, 05:09 PM
RE: STM32 generic board - by mikikg - 07-14-2017, 05:12 PM
RE: STM32 generic board - by progster - 07-14-2017, 05:19 PM
RE: STM32 generic board - by mikikg - 07-14-2017, 05:31 PM
RE: STM32 generic board - by progster - 07-14-2017, 05:36 PM
RE: STM32 generic board - by mikikg - 07-14-2017, 05:37 PM
RE: STM32 generic board - by progster - 07-14-2017, 05:43 PM
RE: STM32 generic board - by mikikg - 07-14-2017, 05:45 PM
RE: STM32 generic board - by progster - 07-14-2017, 05:46 PM
RE: STM32 generic board - by Macola - 07-14-2017, 06:46 PM
RE: STM32 generic board - by progster - 07-15-2017, 04:56 PM
RE: STM32 generic board - by progster - 07-15-2017, 05:13 PM
RE: STM32 generic board - by mikikg - 07-15-2017, 06:02 PM
RE: STM32 generic board - by Macola - 07-15-2017, 06:23 PM
RE: STM32 generic board - by progster - 07-15-2017, 07:01 PM
RE: STM32 generic board - by mikikg - 07-15-2017, 07:06 PM
RE: STM32 generic board - by progster - 07-15-2017, 07:25 PM
RE: STM32 generic board - by mikikg - 07-15-2017, 08:06 PM
RE: STM32 generic board - by Macola - 07-15-2017, 10:28 PM
RE: STM32 generic board - by progster - 07-15-2017, 10:39 PM
RE: STM32 generic board - by Macola - 07-15-2017, 11:12 PM
RE: STM32 generic board - by mikikg - 07-31-2017, 09:03 PM
RE: STM32 generic board - by npejcic - 08-01-2017, 05:43 PM
RE: STM32 generic board - by npejcic - 08-04-2017, 09:33 PM
RE: STM32 generic board - by vsavic - 08-04-2017, 09:38 PM
RE: STM32 generic board - by npejcic - 08-04-2017, 10:44 PM
RE: STM32 generic board - by mikikg - 08-15-2017, 05:25 PM
RE: STM32 generic board - by bogdan.kecman - 08-15-2017, 05:49 PM
RE: STM32 generic board - by npejcic - 08-16-2017, 01:46 PM
RE: STM32 generic board - by mikikg - 08-16-2017, 02:22 PM
RE: STM32 generic board - by npejcic - 08-17-2017, 09:40 AM
RE: STM32 generic board - by Makso - 09-03-2017, 06:56 PM
RE: STM32 generic board - by npejcic - 09-03-2017, 07:10 PM
RE: STM32 generic board - by mikikg - 09-03-2017, 07:40 PM
RE: STM32 generic board - by vsavic - 09-26-2017, 02:49 PM
RE: STM32 generic board - by mikikg - 09-29-2017, 11:45 AM
RE: STM32 generic board - by vsavic - 09-30-2017, 09:30 PM
RE: STM32 generic board - by vojinilic - 09-27-2017, 09:06 AM
RE: STM32 generic board - by mikikg - 09-27-2017, 09:52 AM
RE: STM32 generic board - by vojinilic - 09-27-2017, 12:23 PM
RE: STM32 generic board - by mikikg - 09-27-2017, 01:03 PM
RE: STM32 generic board - by vojinilic - 09-27-2017, 01:08 PM
RE: STM32 generic board - by mikikg - 09-27-2017, 01:17 PM
RE: STM32 generic board - by npejcic - 09-27-2017, 09:38 PM
RE: STM32 generic board - by npejcic - 09-27-2017, 09:44 PM
RE: STM32 generic board - by vojinilic - 09-28-2017, 11:30 AM
RE: STM32 generic board - by mikikg - 09-28-2017, 11:50 AM
RE: STM32 generic board - by vojinilic - 09-28-2017, 11:55 AM
RE: STM32 generic board - by mikikg - 09-28-2017, 12:07 PM
RE: STM32 generic board - by vojinilic - 09-28-2017, 01:33 PM
RE: STM32 generic board - by npejcic - 09-29-2017, 12:40 PM
RE: STM32 generic board - by mikikg - 09-29-2017, 01:08 PM
RE: STM32 generic board - by mikikg - 09-29-2017, 01:23 PM
RE: STM32 generic board - by mikikg - 10-01-2017, 07:36 PM
RE: STM32 generic board - by vsavic - 10-02-2017, 02:45 PM
RE: STM32 generic board - by mikikg - 10-05-2017, 11:31 PM
RE: STM32 generic board - by yugaja - 10-06-2017, 01:06 PM
RE: STM32 generic board - by mikikg - 10-06-2017, 01:22 PM
RE: STM32 generic board - by yugaja - 10-06-2017, 01:50 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 11:29 AM
RE: STM32 generic board - by gorankg - 10-07-2017, 01:05 PM
RE: STM32 generic board - by mikikg - 10-07-2017, 12:10 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 12:29 PM
RE: STM32 generic board - by mikikg - 10-07-2017, 12:42 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 03:19 PM
RE: STM32 generic board - by gorankg - 10-07-2017, 04:06 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 04:40 PM
RE: STM32 generic board - by gorankg - 10-07-2017, 07:16 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 07:47 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 07:53 PM
RE: STM32 generic board - by mikikg - 10-07-2017, 08:40 PM
RE: STM32 generic board - by npejcic - 10-07-2017, 08:52 PM
RE: STM32 generic board - by gorankg - 10-07-2017, 10:02 PM
RE: STM32 generic board - by mikikg - 10-08-2017, 07:31 AM
RE: STM32 generic board - by mikikg - 10-08-2017, 07:53 AM
RE: STM32 generic board - by mikikg - 10-08-2017, 10:43 AM
RE: STM32 generic board - by npejcic - 10-08-2017, 11:29 AM
RE: STM32 generic board - by mikikg - 10-08-2017, 08:34 PM
RE: STM32 generic board - by npejcic - 10-08-2017, 08:57 PM
RE: STM32 generic board - by mikikg - 10-12-2017, 12:16 PM
RE: STM32 generic board - by Macola - 10-12-2017, 04:22 PM
RE: STM32 generic board - by gorankg - 10-13-2017, 07:15 AM
RE: STM32 generic board - by npejcic - 10-13-2017, 08:51 AM
RE: STM32 generic board - by yugaja - 10-13-2017, 09:25 AM
RE: STM32 generic board - by vojinilic - 10-13-2017, 09:58 AM
RE: STM32 generic board - by yugaja - 10-13-2017, 10:13 AM
RE: STM32 generic board - by vojinilic - 10-13-2017, 10:46 AM
RE: STM32 generic board - by mikikg - 10-13-2017, 11:10 AM
RE: STM32 generic board - by gorankg - 10-13-2017, 11:39 AM
RE: STM32 generic board - by mikikg - 10-13-2017, 02:33 PM
RE: STM32 generic board - by mikikg - 10-13-2017, 11:57 AM
RE: STM32 generic board - by mikikg - 10-13-2017, 12:32 PM
RE: STM32 generic board - by gorankg - 10-13-2017, 12:37 PM
RE: STM32 generic board - by mikikg - 10-13-2017, 12:48 PM
RE: STM32 generic board - by yugaja - 10-13-2017, 01:00 PM
RE: STM32 generic board - by mikikg - 10-13-2017, 01:13 PM
RE: STM32 generic board - by yugaja - 10-13-2017, 02:54 PM
RE: STM32 generic board - by mikikg - 10-13-2017, 03:23 PM
RE: STM32 generic board - by yugaja - 10-13-2017, 03:59 PM
RE: STM32 generic board - by ronovar - 10-14-2017, 08:51 PM
RE: STM32 generic board - by gorankg - 10-14-2017, 09:40 PM
RE: STM32 generic board - by mikikg - 10-14-2017, 09:17 PM
RE: STM32 generic board - by ronovar - 10-14-2017, 10:30 PM
RE: STM32 generic board - by mikikg - 10-14-2017, 11:07 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 12:09 AM
RE: STM32 generic board - by mikikg - 10-15-2017, 12:38 PM
RE: STM32 generic board - by vojinilic - 10-15-2017, 01:06 PM
RE: STM32 generic board - by yugaja - 10-15-2017, 01:13 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 01:34 PM
RE: STM32 generic board - by vojinilic - 10-15-2017, 02:13 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 02:26 PM
RE: STM32 generic board - by vojinilic - 10-15-2017, 02:35 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 02:46 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 04:36 PM
RE: STM32 generic board - by mikikg - 10-15-2017, 05:22 PM
RE: STM32 generic board - by vojinilic - 10-15-2017, 07:06 PM
RE: STM32 generic board - by mikikg - 10-16-2017, 04:31 AM
RE: STM32 generic board - by mikikg - 10-17-2017, 09:44 AM
RE: STM32 generic board - by ronovar - 10-17-2017, 09:58 AM
RE: STM32 generic board - by mikikg - 10-17-2017, 09:11 PM
RE: STM32 generic board - by prasimix - 10-24-2017, 01:44 PM
RE: STM32 generic board - by mikikg - 10-24-2017, 02:04 PM
RE: STM32 generic board - by prasimix - 10-24-2017, 02:37 PM
RE: STM32 generic board - by mikikg - 10-24-2017, 04:29 PM
RE: STM32 generic board - by prasimix - 10-24-2017, 10:03 PM
RE: STM32 generic board - by gorankg - 10-24-2017, 08:01 PM
RE: STM32 generic board - by prasimix - 10-24-2017, 10:10 PM
RE: STM32 generic board - by gorankg - 10-24-2017, 10:53 PM
RE: STM32 generic board - by prasimix - 10-24-2017, 11:13 PM
RE: STM32 generic board - by mikikg - 10-24-2017, 09:58 PM
RE: STM32 generic board - by mikikg - 10-24-2017, 10:08 PM
RE: STM32 generic board - by gorankg - 10-24-2017, 10:40 PM
RE: STM32 generic board - by mikikg - 10-24-2017, 11:27 PM
RE: STM32 generic board - by mikikg - 10-25-2017, 12:24 AM
RE: STM32 generic board - by prasimix - 10-25-2017, 06:57 AM
RE: STM32 generic board - by mikikg - 10-25-2017, 02:51 AM
RE: STM32 generic board - by mikikg - 10-25-2017, 11:44 AM
RE: STM32 generic board - by mikikg - 10-27-2017, 04:18 PM
RE: STM32 generic board - by gorankg - 10-27-2017, 07:09 PM
RE: STM32 generic board - by yugaja - 10-27-2017, 09:41 PM
RE: STM32 generic board - by mikikg - 11-07-2017, 02:52 PM
RE: STM32 generic board - by mikikg - 11-07-2017, 08:16 PM
RE: STM32 generic board - by gorankg - 11-07-2017, 09:18 PM

Forum Jump:


Users browsing this thread: 7 Guest(s)