Loading...
 

System Workbench for STM32


Newbee in STM32+HAL is looking for Orientation and Tutorials

Hallo to all,

I plan to move to STM32 and now I am working on System Workbench + HAL + Cube MX. All works fine. My Problem: Where I can find information and/ or didactically well prepared tutorials, how to use the STM32?
Example:
Wenn you plan to use an GPIO Pin, then you have to configure the pin first, that is what I expected. In HAL Semantics it would be written like

int main(void)
{
HAL_Init();
MX_GPIO_Init();
}
where MX_GPIO_Init() is
static void MX_GPIO_Init(void)
{

GPIO_InitTypeDef GPIO_InitStruct;

/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();

/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);

/*Configure GPIO pin : B1_Pin */
GPIO_InitStruct.Pin = B1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);

/*Configure GPIO pin : LD2_Pin */
GPIO_InitStruct.Pin = LD2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct);

}

Cube MX delivered the code.

How can I know, that I have surprisingly to enable someting_like_ CLK or somthing_like_SPEED in order to use a pin? And what, when I try to use different Timers, ADC, FPU?
Main Question:
Is there a documenation which explaines the usage of the STM32, that means how to use GPIO, Timers, ADC, FPU with Code Examples (for HAL), like a cook book? Maybe there is, i cant find in the Internet. How you did your first practice?



Thanks in advance for constructive answers
orc2176

Maybe you should read some reference manuals or chip datasheets from st.com.
Each module in st mcu shuold open clk first,which is closed in default for reducing energy,so you must open it before using it.