Skip to main content
Visitor II
June 20, 2023
Question

Uart configuration STM32G0

  • June 20, 2023
  • 2 replies
  • 1363 views

Hi, 

There is possible to set up USART2 on PA2 and PA15? 

In documentation in both pins is possible to use USART2 (PA2 as TX and PA15 as RX).

I try do it, but I don't get interrupt when data is send to RX pin. On Uart1 (PA9, PA10)  it's work correct. 

For UART2 I used this same register configuration as for UART1.

 

//******************************
// Uart 1
//******************************
// clock enable
RCC->APBENR2 |= RCC_APBENR2_USART1EN;
USART1->BRR = (U16) (CLK_HCLK / DEF_HELP_RS_BAUD_RATE);
		
// DE Enable & Timing
USART1->CR3 |= USART_CR3_DEM;
USART1->CR1 |= USART_CR1_DEAT_0 | USART_CR1_DEAT_1 | USART_CR1_DEAT_2 | USART_CR1_DEAT_3 | USART_CR1_DEAT_4; 
USART1->CR1 |= USART_CR1_DEDT_0 | USART_CR1_DEDT_1 | USART_CR1_DEDT_2 | USART_CR1_DEDT_3 | USART_CR1_DEDT_4;
		
// Configuration
// 8-bit length + no parity - nothing needn't be configured
		
// Enable interrupts: RxD
USART1->CR1 |= USART_CR1_RXNEIE_RXFNEIE;
		
// Enable: RxD | UART
USART1->CR1 |= USART_CR1_RE | USART_CR1_UE;
		
//******************************
// Uart 2
//******************************		
// clock enable
RCC->APBENR1 |= RCC_APBENR1_USART2EN;
USART2->BRR = (U16) (CLK_HCLK / DEF_HELP_RS_BAUD_RATE);
		
// DE Enable & Timing
USART2->CR3 |= USART_CR3_DEM;
USART2->CR1 |= USART_CR1_DEAT_0 | USART_CR1_DEAT_1 | USART_CR1_DEAT_2 | USART_CR1_DEAT_3 | USART_CR1_DEAT_4; 
USART2->CR1 |= USART_CR1_DEDT_0 | USART_CR1_DEDT_1 | USART_CR1_DEDT_2 | USART_CR1_DEDT_3 | USART_CR1_DEDT_4;
		
// Configuration
// 8-bit length + no parity - nothing needn't be configured
		
// Enable interrupts: RxD
USART2->CR1 |= USART_CR1_RXNEIE_RXFNEIE;
		
// Enable: RxD | UART
USART2->CR1 |= USART_CR1_RE | USART_CR1_UE;

 

    This topic has been closed for replies.

    2 replies

    Super User
    June 20, 2023

    Read out and check/post UART and relevant GPIO registers content.

     > I don't get interrupt when data is send to RX pin. 

    Polled Rx works?

    JW

    arekjAuthor
    Visitor II
    June 21, 2023

    I don't know why, but today when I started again testing communication, interrupts works correct.
    So I don't know what was the problem, but for now is solved.

    Anyway, Thanks for help :)