This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USART not receiving

Hi,

I'm using the MCBSTM32E development board equiped with an STM32F103ZE microcontroller.

I configured the USART2 transmitter according the Reference Manual and it works fine.

I configured the USART2 receiver according the Reference Manual and it does not work.

3 hours of experimenting does not do the job.
I did next steps:
- set the CR1_UE Usart Enable bit
- clr the CR1_M bit for selecting 8 data bits
- set the CR2 register to 1 stopbit
- set the BRR register to the desired bautrate
- set the CR1_RE bit to enable the receiver
- set the USART RX input pin PA3 to input float
- enabled the GPIOA port pheripheral clock
- enabled the USART2 peripheral clock
- set the CR1_RXNEIE bit to activate receive interrupt
- set the NVIC-ISER bit for USART2 (global interrupt)
- write an interrupt handler

When I apply data to the RX-input nothing happens.
I monitored the receive data (DR) register and status (SR) register but nothing changed. I scoped pin PA3 on the uC and it is toggling when receiving data.

When I force a receive interrupt by setting the USART2 bit in the ISPR register then the interrupt handler is executed.

I changed code to control USART1 but with same effect.

I must have forgotten some bit or made some configuration errer.
It seems as if rx-data is not entering the internal shiftregister or is not sampled.

All hints and tips are welcome.

Thanks,

Henk

Parents Reply Children