cancel
Showing results for 
Search instead for 
Did you mean: 

BUG in STM32F030 reference manual.

re.wolff9
Senior
Posted on July 01, 2016 at 14:56

The register descriptions of the USART mention several times that the feature is optional and might not be implemented on my device (or my specific usart). 

I've seen such a table with other peripherals, but I can't find it for the USART. The register descriptions refer to section 23.4 (which is big and has many subsections) and page 555 (which is only half a page). 

#documentation-needs-update
3 REPLIES 3
re.wolff9
Senior
Posted on July 03, 2016 at 17:26

The block diagram in the STM32F030 reference manual is sloppy. 

The arrows between the TDR and transmit shift register and RDR and receive shift register are the wrong way around. There is a typo in the transmit SHIT register. 

The arrow out of the transmit shift register is the wrong way around. 

My PDF reader says that this is the only occurrence of the word ''SHIT'' in the whole document.... :) 

re.wolff9
Senior
Posted on July 03, 2016 at 20:56

Does my STM32F030 have the RTO feature in the USART?

As stated above, the manual refers to a nonexistant table. My '030 DOES have the RTOR register which is documented to return zeroes if the feature is not present. 

On the other hand, I can't get the interrupt to trigger. 

Bit 12 in the ISR is documented as ''reserved'', It however does turn on in my application. 

The RTOR register seems to have all 32 bits implemented. That's odd. (but possible according to the reference manual). Ah.. Those are the BLEN bits that go together with the BLOCK length feature that my UART is documented NOT to have, but its reserved bit in the ISR does turn on. 

Anyway, I'm getting USART interrupts, I've enabled RTOIE in CR1. but I'm never seeing the RTO interrupt. 

Any hint as to what might be wrong?

re.wolff9
Senior
Posted on July 03, 2016 at 21:22

OK. Got it. CR2 has an extra RTOEN bit that I had overlooked. 

[edit] Oh, And the missing table I started about seems to have been added in the rev 3 manual. I still had the rev 1 manual here.