HAL example added
This commit is contained in:
parent
75b0943f3b
commit
6702b75125
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
HAL ( Hardware Abstraction Layer )
|
||||
|
||||
Example on how access the HAL within the STM32GENERIC Arduino framework
|
||||
|
||||
example copied from
|
||||
April 2017 michael_l
|
||||
|
||||
http://www.stm32duino.com/viewtopic.php?f=42&t=1966&start=90#p27155
|
||||
|
||||
*/
|
||||
#include "STM32_HAL.h"
|
||||
uint32_t prev = 0;
|
||||
int seconds = 0;
|
||||
|
||||
static TIM_HandleTypeDef s_TimerInstance =
|
||||
{
|
||||
.Instance = TIM2
|
||||
};
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200); // Serial is SerialUSB
|
||||
|
||||
__TIM2_CLK_ENABLE();
|
||||
s_TimerInstance.Init.Prescaler = 42000 - 1; //APB1 TIM2 has 84MHZ,
|
||||
s_TimerInstance.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
s_TimerInstance.Init.Period = 2000 - 1; // prescaler gives 2khz time base
|
||||
s_TimerInstance.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
s_TimerInstance.Init.RepetitionCounter = 0;
|
||||
HAL_TIM_Base_Init(&s_TimerInstance);
|
||||
HAL_TIM_Base_Start(&s_TimerInstance);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
if (__HAL_TIM_GET_COUNTER(&s_TimerInstance) == 0)
|
||||
{
|
||||
uint32_t now = micros();
|
||||
Serial.print("diff=");
|
||||
Serial.println(now - prev);
|
||||
Serial.println(now);
|
||||
prev = micros();
|
||||
|
||||
Serial.print(seconds++);
|
||||
Serial.println(" seconds");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue