cancel
Showing results for 
Search instead for 
Did you mean: 

Programming Manuals or Docs?

jontitus
Associate II

Posted on November 04, 2010 at 01:34

Does ST have manuals or documentation that explains and provides an example of how to use commands in the ''standard peripheral library?'' I'm using the STM32VL Discovery board and it seems when I encounter a line of code such as:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

ST expects me (and others) to go through individual .c and .h files to determine what this function does and then puzzle through how to use it. I'd appreciate tips on where to find the relevant documentation. I have gone through the standard peripheral library files and find only some poorly documented ''sample'' code that provides little practical information. Thank you. --Jon

4 REPLIES 4
STM32 hobbyist
Associate III
Posted on November 04, 2010 at 11:06

You can refer to Help file called ''stm32f10x_stdperiph_lib_um'' in the following path:

\STM32F10xFWLib v3.3.0\STM32F10x_StdPeriph_Lib_V3.3.0

Posted on November 04, 2010 at 11:45

As already noted, the documentation (such as it is) is provided in the .chm help file.

In my opinion, this is a very bad idea:

https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM CortexM3 STM32/Where can I find a STM32F10x library documentation&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000626BE2B829C32145B9EB5739142DC17E&currentviews=205

The content is far too closely focussed on functions, symbols, etc - there is no overview of the philosophy of the library; there is no overview of, ''how to

use these functions to actually achieve something useful''.

''poorly documented 'sample' code that provides little practical information''

Indeed - see:

https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM CortexM3 STM32/STM32F10x_StdPeriph_Lib, is it worth the trouble&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000626BE2B829C32145B9EB5739142DC17E&currentviews=333

jontitus
Associate II
Posted on November 04, 2010 at 17:27

Thank you for your comments and suggestions.  I did look at the ''help'' file suggested but found it and the examples cryptic and terse.  I expect an MCU vendor to help me understand how to do things and for GPIO pins for example, a simple flow chart that notes first do this, second do that, and so on would let us all follow the logic of the code and understand how the code relates to the chip's electronic functions, registers, clock settings, etc.  Yes, reading the tech manual for the STM32 family MCUs can help, but it seems a lot like making people understand how to farm and mill wheat before they can use flour in a recipe.  There are other ARM Cortex-M3 implementations that are easier to use because their manufacturers understand users' needs.  By the way, I used the Atollic Pro tools and found them easy to use and understand--good documentation.  Cheers. --Jon

Posted on November 05, 2010 at 08:39

''a simple flow chart that notes first do this, second do that, and so on''

I made exactly the same comment when I started with the STM32!

All of the documentation is far too focussed just on each individual register or peripheral in isolation - there is nothing to tie them all together and tell you, ''to use a GPIO pin you need to enble this, then configure that, and set the other...''

 

 

Most peripherals require you to glean information from at least 3 separate section of the Manual:

1. The actual peripheral's own section (eg, USART);

2. The GPIO section (eg, for the pins used by the USART);

3. The RCC section (to clock both the peripheral itself and the pins that it uses).

I don't think I ever found any clear, explicit statement of which clock(s) are required by each peripheral - you have to try to pull this out for yourself from the block diagrams in the datasheet...